home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / unicharutil / cattable.h next >
C/C++ Source or Header  |  2006-05-08  |  121KB  |  2,854 lines

  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3.  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4.  *
  5.  * The contents of this file are subject to the Mozilla Public License Version
  6.  * 1.1 (the "License"); you may not use this file except in compliance with
  7.  * the License. You may obtain a copy of the License at
  8.  * http://www.mozilla.org/MPL/
  9.  *
  10.  * Software distributed under the License is distributed on an "AS IS" basis,
  11.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12.  * for the specific language governing rights and limitations under the
  13.  * License.
  14.  *
  15.  * The Original Code is mozilla.org code.
  16.  *
  17.  * The Initial Developer of the Original Code is
  18.  * Netscape Communications Corporation.
  19.  * Portions created by the Initial Developer are Copyright (C) 1999
  20.  * the Initial Developer. All Rights Reserved.
  21.  *
  22.  * Contributor(s):
  23.  *
  24.  * Alternatively, the contents of this file may be used under the terms of
  25.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  26.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27.  * in which case the provisions of the GPL or the LGPL are applicable instead
  28.  * of those above. If you wish to allow use of your version of this file only
  29.  * under the terms of either the GPL or the LGPL, and not to allow others to
  30.  * use your version of this file under the terms of the MPL, indicate your
  31.  * decision by deleting the provisions above and replace them with the notice
  32.  * and other provisions required by the GPL or the LGPL. If you do not delete
  33.  * the provisions above, a recipient may use your version of this file under
  34.  * the terms of any one of the MPL, the GPL or the LGPL.
  35.  *
  36.  * ***** END LICENSE BLOCK ***** */
  37. /* 
  38.     DO NOT EDIT THIS DOCUMENT !!! THIS DOCUMENT IS GENERATED BY
  39.     mozilla/intl/unicharutil/tools/gencattable.pl
  40.  */
  41. #include "nscore.h" 
  42.  
  43. static const PRUint8 gGenCatIdx1[256] = {
  44.       0,  // U+000000 - U+000007 : 0x44444444
  45.       0,  // U+000008 - U+00000F : 0x44444444
  46.       0,  // U+000010 - U+000017 : 0x44444444
  47.       0,  // U+000018 - U+00001F : 0x44444444
  48.       1,  // U+000020 - U+000027 : 0x66676663
  49.       2,  // U+000028 - U+00002F : 0x66667666
  50.       3,  // U+000030 - U+000037 : 0x22222222
  51.       4,  // U+000038 - U+00003F : 0x67776622
  52.       5,  // U+000040 - U+000047 : 0x55555556
  53.       6,  // U+000048 - U+00004F : 0x55555555
  54.       6,  // U+000050 - U+000057 : 0x55555555
  55.       7,  // U+000058 - U+00005F : 0x67666555
  56.       8,  // U+000060 - U+000067 : 0x55555557
  57.       6,  // U+000068 - U+00006F : 0x55555555
  58.       6,  // U+000070 - U+000077 : 0x55555555
  59.       9,  // U+000078 - U+00007F : 0x47676555
  60.       0,  // U+000080 - U+000087 : 0x44444444
  61.       0,  // U+000088 - U+00008F : 0x44444444
  62.       0,  // U+000090 - U+000097 : 0x44444444
  63.       0,  // U+000098 - U+00009F : 0x44444444
  64.      10,  // U+0000A0 - U+0000A7 : 0x77777763
  65.      11,  // U+0000A8 - U+0000AF : 0x77476577
  66.      12,  // U+0000B0 - U+0000B7 : 0x67572277
  67.      13,  // U+0000B8 - U+0000BF : 0x62226527
  68.       6,  // U+0000C0 - U+0000C7 : 0x55555555
  69.       6,  // U+0000C8 - U+0000CF : 0x55555555
  70.      14,  // U+0000D0 - U+0000D7 : 0x75555555
  71.       6,  // U+0000D8 - U+0000DF : 0x55555555
  72.       6,  // U+0000E0 - U+0000E7 : 0x55555555
  73.       6,  // U+0000E8 - U+0000EF : 0x55555555
  74.      14,  // U+0000F0 - U+0000F7 : 0x75555555
  75.       6,  // U+0000F8 - U+0000FF : 0x55555555
  76.       6,  // U+000100 - U+000107 : 0x55555555
  77.       6,  // U+000108 - U+00010F : 0x55555555
  78.       6,  // U+000110 - U+000117 : 0x55555555
  79.       6,  // U+000118 - U+00011F : 0x55555555
  80.       6,  // U+000120 - U+000127 : 0x55555555
  81.       6,  // U+000128 - U+00012F : 0x55555555
  82.       6,  // U+000130 - U+000137 : 0x55555555
  83.       6,  // U+000138 - U+00013F : 0x55555555
  84.       6,  // U+000140 - U+000147 : 0x55555555
  85.       6,  // U+000148 - U+00014F : 0x55555555
  86.       6,  // U+000150 - U+000157 : 0x55555555
  87.       6,  // U+000158 - U+00015F : 0x55555555
  88.       6,  // U+000160 - U+000167 : 0x55555555
  89.       6,  // U+000168 - U+00016F : 0x55555555
  90.       6,  // U+000170 - U+000177 : 0x55555555
  91.       6,  // U+000178 - U+00017F : 0x55555555
  92.       6,  // U+000180 - U+000187 : 0x55555555
  93.       6,  // U+000188 - U+00018F : 0x55555555
  94.       6,  // U+000190 - U+000197 : 0x55555555
  95.       6,  // U+000198 - U+00019F : 0x55555555
  96.       6,  // U+0001A0 - U+0001A7 : 0x55555555
  97.       6,  // U+0001A8 - U+0001AF : 0x55555555
  98.       6,  // U+0001B0 - U+0001B7 : 0x55555555
  99.       6,  // U+0001B8 - U+0001BF : 0x55555555
  100.       6,  // U+0001C0 - U+0001C7 : 0x55555555
  101.       6,  // U+0001C8 - U+0001CF : 0x55555555
  102.       6,  // U+0001D0 - U+0001D7 : 0x55555555
  103.       6,  // U+0001D8 - U+0001DF : 0x55555555
  104.       6,  // U+0001E0 - U+0001E7 : 0x55555555
  105.       6,  // U+0001E8 - U+0001EF : 0x55555555
  106.       6,  // U+0001F0 - U+0001F7 : 0x55555555
  107.       6,  // U+0001F8 - U+0001FF : 0x55555555
  108.       6,  // U+000200 - U+000207 : 0x55555555
  109.       6,  // U+000208 - U+00020F : 0x55555555
  110.       6,  // U+000210 - U+000217 : 0x55555555
  111.       6,  // U+000218 - U+00021F : 0x55555555
  112.       6,  // U+000220 - U+000227 : 0x55555555
  113.       6,  // U+000228 - U+00022F : 0x55555555
  114.       6,  // U+000230 - U+000237 : 0x55555555
  115.       6,  // U+000238 - U+00023F : 0x55555555
  116.      15,  // U+000240 - U+000247 : 0x00000055
  117.      16,  // U+000248 - U+00024F : 0x00000000
  118.       6,  // U+000250 - U+000257 : 0x55555555
  119.       6,  // U+000258 - U+00025F : 0x55555555
  120.       6,  // U+000260 - U+000267 : 0x55555555
  121.       6,  // U+000268 - U+00026F : 0x55555555
  122.       6,  // U+000270 - U+000277 : 0x55555555
  123.       6,  // U+000278 - U+00027F : 0x55555555
  124.       6,  // U+000280 - U+000287 : 0x55555555
  125.       6,  // U+000288 - U+00028F : 0x55555555
  126.       6,  // U+000290 - U+000297 : 0x55555555
  127.       6,  // U+000298 - U+00029F : 0x55555555
  128.       6,  // U+0002A0 - U+0002A7 : 0x55555555
  129.       6,  // U+0002A8 - U+0002AF : 0x55555555
  130.       6,  // U+0002B0 - U+0002B7 : 0x55555555
  131.       6,  // U+0002B8 - U+0002BF : 0x55555555
  132.      17,  // U+0002C0 - U+0002C7 : 0x55777755
  133.       6,  // U+0002C8 - U+0002CF : 0x55555555
  134.      18,  // U+0002D0 - U+0002D7 : 0x77777755
  135.      19,  // U+0002D8 - U+0002DF : 0x77777777
  136.      20,  // U+0002E0 - U+0002E7 : 0x77755555
  137.      21,  // U+0002E8 - U+0002EF : 0x75777777
  138.      19,  // U+0002F0 - U+0002F7 : 0x77777777
  139.      19,  // U+0002F8 - U+0002FF : 0x77777777
  140.      22,  // U+000300 - U+000307 : 0x11111111
  141.      22,  // U+000308 - U+00030F : 0x11111111
  142.      22,  // U+000310 - U+000317 : 0x11111111
  143.      22,  // U+000318 - U+00031F : 0x11111111
  144.      22,  // U+000320 - U+000327 : 0x11111111
  145.      22,  // U+000328 - U+00032F : 0x11111111
  146.      22,  // U+000330 - U+000337 : 0x11111111
  147.      22,  // U+000338 - U+00033F : 0x11111111
  148.      22,  // U+000340 - U+000347 : 0x11111111
  149.      22,  // U+000348 - U+00034F : 0x11111111
  150.      22,  // U+000350 - U+000357 : 0x11111111
  151.      22,  // U+000358 - U+00035F : 0x11111111
  152.      22,  // U+000360 - U+000367 : 0x11111111
  153.      22,  // U+000368 - U+00036F : 0x11111111
  154.      23,  // U+000370 - U+000377 : 0x00770000
  155.      24,  // U+000378 - U+00037F : 0x06000500
  156.      25,  // U+000380 - U+000387 : 0x65770000
  157.      26,  // U+000388 - U+00038F : 0x55050555
  158.       6,  // U+000390 - U+000397 : 0x55555555
  159.       6,  // U+000398 - U+00039F : 0x55555555
  160.      27,  // U+0003A0 - U+0003A7 : 0x55555055
  161.       6,  // U+0003A8 - U+0003AF : 0x55555555
  162.       6,  // U+0003B0 - U+0003B7 : 0x55555555
  163.       6,  // U+0003B8 - U+0003BF : 0x55555555
  164.       6,  // U+0003C0 - U+0003C7 : 0x55555555
  165.      28,  // U+0003C8 - U+0003CF : 0x05555555
  166.       6,  // U+0003D0 - U+0003D7 : 0x55555555
  167.       6,  // U+0003D8 - U+0003DF : 0x55555555
  168.       6,  // U+0003E0 - U+0003E7 : 0x55555555
  169.       6,  // U+0003E8 - U+0003EF : 0x55555555
  170.      29,  // U+0003F0 - U+0003F7 : 0x57555555
  171.       6,  // U+0003F8 - U+0003FF : 0x55555555
  172.       6,  // U+000400 - U+000407 : 0x55555555
  173.       6,  // U+000408 - U+00040F : 0x55555555
  174.       6,  // U+000410 - U+000417 : 0x55555555
  175.       6,  // U+000418 - U+00041F : 0x55555555
  176.       6,  // U+000420 - U+000427 : 0x55555555
  177.       6,  // U+000428 - U+00042F : 0x55555555
  178.       6,  // U+000430 - U+000437 : 0x55555555
  179.       6,  // U+000438 - U+00043F : 0x55555555
  180.       6,  // U+000440 - U+000447 : 0x55555555
  181.       6,  // U+000448 - U+00044F : 0x55555555
  182.       6,  // U+000450 - U+000457 : 0x55555555
  183.       6,  // U+000458 - U+00045F : 0x55555555
  184.       6,  // U+000460 - U+000467 : 0x55555555
  185.       6,  // U+000468 - U+00046F : 0x55555555
  186.       6,  // U+000470 - U+000477 : 0x55555555
  187.       6,  // U+000478 - U+00047F : 0x55555555
  188.      30,  // U+000480 - U+000487 : 0x01111755
  189.      31,  // U+000488 - U+00048F : 0x55555511
  190.       6,  // U+000490 - U+000497 : 0x55555555
  191.       6,  // U+000498 - U+00049F : 0x55555555
  192.       6,  // U+0004A0 - U+0004A7 : 0x55555555
  193.       6,  // U+0004A8 - U+0004AF : 0x55555555
  194.       6,  // U+0004B0 - U+0004B7 : 0x55555555
  195.       6,  // U+0004B8 - U+0004BF : 0x55555555
  196.       6,  // U+0004C0 - U+0004C7 : 0x55555555
  197.      28,  // U+0004C8 - U+0004CF : 0x05555555
  198.       6,  // U+0004D0 - U+0004D7 : 0x55555555
  199.       6,  // U+0004D8 - U+0004DF : 0x55555555
  200.       6,  // U+0004E0 - U+0004E7 : 0x55555555
  201.       6,  // U+0004E8 - U+0004EF : 0x55555555
  202.       6,  // U+0004F0 - U+0004F7 : 0x55555555
  203.      15,  // U+0004F8 - U+0004FF : 0x00000055
  204.       6,  // U+000500 - U+000507 : 0x55555555
  205.       6,  // U+000508 - U+00050F : 0x55555555
  206.      16,  // U+000510 - U+000517 : 0x00000000
  207.      16,  // U+000518 - U+00051F : 0x00000000
  208.      16,  // U+000520 - U+000527 : 0x00000000
  209.      16,  // U+000528 - U+00052F : 0x00000000
  210.      32,  // U+000530 - U+000537 : 0x55555550
  211.       6,  // U+000538 - U+00053F : 0x55555555
  212.       6,  // U+000540 - U+000547 : 0x55555555
  213.       6,  // U+000548 - U+00054F : 0x55555555
  214.      28,  // U+000550 - U+000557 : 0x05555555
  215.      33,  // U+000558 - U+00055F : 0x66666650
  216.      32,  // U+000560 - U+000567 : 0x55555550
  217.       6,  // U+000568 - U+00056F : 0x55555555
  218.       6,  // U+000570 - U+000577 : 0x55555555
  219.       6,  // U+000578 - U+00057F : 0x55555555
  220.       6,  // U+000580 - U+000587 : 0x55555555
  221.      34,  // U+000588 - U+00058F : 0x00000660
  222.      35,  // U+000590 - U+000597 : 0x11111110
  223.      22,  // U+000598 - U+00059F : 0x11111111
  224.      22,  // U+0005A0 - U+0005A7 : 0x11111111
  225.      22,  // U+0005A8 - U+0005AF : 0x11111111
  226.      22,  // U+0005B0 - U+0005B7 : 0x11111111
  227.      36,  // U+0005B8 - U+0005BF : 0x16111011
  228.      37,  // U+0005C0 - U+0005C7 : 0x16116116
  229.      16,  // U+0005C8 - U+0005CF : 0x00000000
  230.       6,  // U+0005D0 - U+0005D7 : 0x55555555
  231.       6,  // U+0005D8 - U+0005DF : 0x55555555
  232.       6,  // U+0005E0 - U+0005E7 : 0x55555555
  233.      38,  // U+0005E8 - U+0005EF : 0x00000555
  234.      39,  // U+0005F0 - U+0005F7 : 0x00066555
  235.      16,  // U+0005F8 - U+0005FF : 0x00000000
  236.      40,  // U+000600 - U+000607 : 0x00004444
  237.      41,  // U+000608 - U+00060F : 0x77667000
  238.      42,  // U+000610 - U+000617 : 0x00111111
  239.      43,  // U+000618 - U+00061F : 0x66006000
  240.      32,  // U+000620 - U+000627 : 0x55555550
  241.       6,  // U+000628 - U+00062F : 0x55555555
  242.       6,  // U+000630 - U+000637 : 0x55555555
  243.      38,  // U+000638 - U+00063F : 0x00000555
  244.       6,  // U+000640 - U+000647 : 0x55555555
  245.      44,  // U+000648 - U+00064F : 0x11111555
  246.      22,  // U+000650 - U+000657 : 0x11111111
  247.      45,  // U+000658 - U+00065F : 0x01111111
  248.       3,  // U+000660 - U+000667 : 0x22222222
  249.      46,  // U+000668 - U+00066F : 0x55666622
  250.      47,  // U+000670 - U+000677 : 0x55555551
  251.       6,  // U+000678 - U+00067F : 0x55555555
  252.       6,  // U+000680 - U+000687 : 0x55555555
  253.       6,  // U+000688 - U+00068F : 0x55555555
  254.       6,  // U+000690 - U+000697 : 0x55555555
  255.       6,  // U+000698 - U+00069F : 0x55555555
  256.       6,  // U+0006A0 - U+0006A7 : 0x55555555
  257.       6,  // U+0006A8 - U+0006AF : 0x55555555
  258.       6,  // U+0006B0 - U+0006B7 : 0x55555555
  259.       6,  // U+0006B8 - U+0006BF : 0x55555555
  260.       6,  // U+0006C0 - U+0006C7 : 0x55555555
  261.       6,  // U+0006C8 - U+0006CF : 0x55555555
  262.      48,  // U+0006D0 - U+0006D7 : 0x11565555
  263.      49,  // U+0006D8 - U+0006DF : 0x11411111
  264.      50,  // U+0006E0 - U+0006E7 : 0x15511111
  265.      51,  // U+0006E8 - U+0006EF : 0x55111171
  266.       3,  // U+0006F0 - U+0006F7 : 0x22222222
  267.      52,  // U+0006F8 - U+0006FF : 0x57755522
  268.      53,  // U+000700 - U+000707 : 0x66666666
  269.      54,  // U+000708 - U+00070F : 0x40666666
  270.      55,  // U+000710 - U+000717 : 0x55555515
  271.       6,  // U+000718 - U+00071F : 0x55555555
  272.       6,  // U+000720 - U+000727 : 0x55555555
  273.       6,  // U+000728 - U+00072F : 0x55555555
  274.      22,  // U+000730 - U+000737 : 0x11111111
  275.      22,  // U+000738 - U+00073F : 0x11111111
  276.      22,  // U+000740 - U+000747 : 0x11111111
  277.      56,  // U+000748 - U+00074F : 0x55500111
  278.       6,  // U+000750 - U+000757 : 0x55555555
  279.       6,  // U+000758 - U+00075F : 0x55555555
  280.       6,  // U+000760 - U+000767 : 0x55555555
  281.      57,  // U+000768 - U+00076F : 0x00555555
  282.      16,  // U+000770 - U+000777 : 0x00000000
  283.      16,  // U+000778 - U+00077F : 0x00000000
  284.       6,  // U+000780 - U+000787 : 0x55555555
  285.       6,  // U+000788 - U+00078F : 0x55555555
  286.       6,  // U+000790 - U+000797 : 0x55555555
  287.       6,  // U+000798 - U+00079F : 0x55555555
  288.      58,  // U+0007A0 - U+0007A7 : 0x11555555
  289.      22,  // U+0007A8 - U+0007AF : 0x11111111
  290.      59,  // U+0007B0 - U+0007B7 : 0x00000051
  291.      16,  // U+0007B8 - U+0007BF : 0x00000000
  292.      16,  // U+0007C0 - U+0007C7 : 0x00000000
  293.      16,  // U+0007C8 - U+0007CF : 0x00000000
  294.      16,  // U+0007D0 - U+0007D7 : 0x00000000
  295.      16,  // U+0007D8 - U+0007DF : 0x00000000
  296.      16,  // U+0007E0 - U+0007E7 : 0x00000000
  297.      16,  // U+0007E8 - U+0007EF : 0x00000000
  298.      16,  // U+0007F0 - U+0007F7 : 0x00000000
  299.      16,  // U+0007F8 - U+0007FF : 0x00000000
  300. };
  301.  
  302. static const PRUint8 gGenCatIdx2[548] = {
  303.      60,  // U+000900 - U+000907 : 0x55551110
  304.       6,  // U+000908 - U+00090F : 0x55555555
  305.       6,  // U+000910 - U+000917 : 0x55555555
  306.       6,  // U+000918 - U+00091F : 0x55555555
  307.       6,  // U+000920 - U+000927 : 0x55555555
  308.       6,  // U+000928 - U+00092F : 0x55555555
  309.       6,  // U+000930 - U+000937 : 0x55555555
  310.      61,  // U+000938 - U+00093F : 0x11510055
  311.      22,  // U+000940 - U+000947 : 0x11111111
  312.      42,  // U+000948 - U+00094F : 0x00111111
  313.      62,  // U+000950 - U+000957 : 0x00011115
  314.       6,  // U+000958 - U+00095F : 0x55555555
  315.      63,  // U+000960 - U+000967 : 0x22661155
  316.       3,  // U+000968 - U+00096F : 0x22222222
  317.      64,  // U+000970 - U+000977 : 0x00000006
  318.      65,  // U+000978 - U+00097F : 0x00500000
  319.      66,  // U+000980 - U+000987 : 0x55501110
  320.      67,  // U+000988 - U+00098F : 0x50055555
  321.      68,  // U+000990 - U+000997 : 0x55555005
  322.       6,  // U+000998 - U+00099F : 0x55555555
  323.       6,  // U+0009A0 - U+0009A7 : 0x55555555
  324.      69,  // U+0009A8 - U+0009AF : 0x55555505
  325.      70,  // U+0009B0 - U+0009B7 : 0x55000505
  326.      61,  // U+0009B8 - U+0009BF : 0x11510055
  327.      71,  // U+0009C0 - U+0009C7 : 0x10011111
  328.      72,  // U+0009C8 - U+0009CF : 0x05111001
  329.      73,  // U+0009D0 - U+0009D7 : 0x10000000
  330.      74,  // U+0009D8 - U+0009DF : 0x50550000
  331.      75,  // U+0009E0 - U+0009E7 : 0x22001155
  332.       3,  // U+0009E8 - U+0009EF : 0x22222222
  333.      76,  // U+0009F0 - U+0009F7 : 0x22227755
  334.      77,  // U+0009F8 - U+0009FF : 0x00000722
  335.      66,  // U+000A00 - U+000A07 : 0x55501110
  336.      78,  // U+000A08 - U+000A0F : 0x50000555
  337.      68,  // U+000A10 - U+000A17 : 0x55555005
  338.       6,  // U+000A18 - U+000A1F : 0x55555555
  339.       6,  // U+000A20 - U+000A27 : 0x55555555
  340.      69,  // U+000A28 - U+000A2F : 0x55555505
  341.      79,  // U+000A30 - U+000A37 : 0x05505505
  342.      80,  // U+000A38 - U+000A3F : 0x11010055
  343.      81,  // U+000A40 - U+000A47 : 0x10000111
  344.      82,  // U+000A48 - U+000A4F : 0x00111001
  345.      16,  // U+000A50 - U+000A57 : 0x00000000
  346.      83,  // U+000A58 - U+000A5F : 0x05055550
  347.      84,  // U+000A60 - U+000A67 : 0x22000000
  348.       3,  // U+000A68 - U+000A6F : 0x22222222
  349.      85,  // U+000A70 - U+000A77 : 0x00055511
  350.      16,  // U+000A78 - U+000A7F : 0x00000000
  351.      66,  // U+000A80 - U+000A87 : 0x55501110
  352.      86,  // U+000A88 - U+000A8F : 0x50555555
  353.      27,  // U+000A90 - U+000A97 : 0x55555055
  354.       6,  // U+000A98 - U+000A9F : 0x55555555
  355.       6,  // U+000AA0 - U+000AA7 : 0x55555555
  356.      69,  // U+000AA8 - U+000AAF : 0x55555505
  357.      87,  // U+000AB0 - U+000AB7 : 0x55505505
  358.      61,  // U+000AB8 - U+000ABF : 0x11510055
  359.      88,  // U+000AC0 - U+000AC7 : 0x10111111
  360.      89,  // U+000AC8 - U+000ACF : 0x00111011
  361.      90,  // U+000AD0 - U+000AD7 : 0x00000005
  362.      16,  // U+000AD8 - U+000ADF : 0x00000000
  363.      75,  // U+000AE0 - U+000AE7 : 0x22001155
  364.       3,  // U+000AE8 - U+000AEF : 0x22222222
  365.      91,  // U+000AF0 - U+000AF7 : 0x00000070
  366.      16,  // U+000AF8 - U+000AFF : 0x00000000
  367.      66,  // U+000B00 - U+000B07 : 0x55501110
  368.      67,  // U+000B08 - U+000B0F : 0x50055555
  369.      68,  // U+000B10 - U+000B17 : 0x55555005
  370.       6,  // U+000B18 - U+000B1F : 0x55555555
  371.       6,  // U+000B20 - U+000B27 : 0x55555555
  372.      69,  // U+000B28 - U+000B2F : 0x55555505
  373.      87,  // U+000B30 - U+000B37 : 0x55505505
  374.      61,  // U+000B38 - U+000B3F : 0x11510055
  375.      92,  // U+000B40 - U+000B47 : 0x10001111
  376.      82,  // U+000B48 - U+000B4F : 0x00111001
  377.      93,  // U+000B50 - U+000B57 : 0x11000000
  378.      74,  // U+000B58 - U+000B5F : 0x50550000
  379.      94,  // U+000B60 - U+000B67 : 0x22000055
  380.       3,  // U+000B68 - U+000B6F : 0x22222222
  381.      95,  // U+000B70 - U+000B77 : 0x00000057
  382.      16,  // U+000B78 - U+000B7F : 0x00000000
  383.      96,  // U+000B80 - U+000B87 : 0x55505100
  384.      97,  // U+000B88 - U+000B8F : 0x55000555
  385.      98,  // U+000B90 - U+000B97 : 0x00555505
  386.      99,  // U+000B98 - U+000B9F : 0x55050550
  387.     100,  // U+000BA0 - U+000BA7 : 0x00055000
  388.      97,  // U+000BA8 - U+000BAF : 0x55000555
  389.       6,  // U+000BB0 - U+000BB7 : 0x55555555
  390.     101,  // U+000BB8 - U+000BBF : 0x11000055
  391.     102,  // U+000BC0 - U+000BC7 : 0x11000111
  392.     103,  // U+000BC8 - U+000BCF : 0x00111101
  393.      73,  // U+000BD0 - U+000BD7 : 0x10000000
  394.      16,  // U+000BD8 - U+000BDF : 0x00000000
  395.      84,  // U+000BE0 - U+000BE7 : 0x22000000
  396.       3,  // U+000BE8 - U+000BEF : 0x22222222
  397.     104,  // U+000BF0 - U+000BF7 : 0x77777222
  398.     105,  // U+000BF8 - U+000BFF : 0x00000777
  399.      66,  // U+000C00 - U+000C07 : 0x55501110
  400.     106,  // U+000C08 - U+000C0F : 0x55055555
  401.      69,  // U+000C10 - U+000C17 : 0x55555505
  402.       6,  // U+000C18 - U+000C1F : 0x55555555
  403.       6,  // U+000C20 - U+000C27 : 0x55555555
  404.      69,  // U+000C28 - U+000C2F : 0x55555505
  405.     107,  // U+000C30 - U+000C37 : 0x55505555
  406.     101,  // U+000C38 - U+000C3F : 0x11000055
  407.     108,  // U+000C40 - U+000C47 : 0x11011111
  408.     103,  // U+000C48 - U+000C4F : 0x00111101
  409.     109,  // U+000C50 - U+000C57 : 0x01100000
  410.      16,  // U+000C58 - U+000C5F : 0x00000000
  411.      94,  // U+000C60 - U+000C67 : 0x22000055
  412.       3,  // U+000C68 - U+000C6F : 0x22222222
  413.      16,  // U+000C70 - U+000C77 : 0x00000000
  414.      16,  // U+000C78 - U+000C7F : 0x00000000
  415.     110,  // U+000C80 - U+000C87 : 0x55501100
  416.     106,  // U+000C88 - U+000C8F : 0x55055555
  417.      69,  // U+000C90 - U+000C97 : 0x55555505
  418.       6,  // U+000C98 - U+000C9F : 0x55555555
  419.       6,  // U+000CA0 - U+000CA7 : 0x55555555
  420.      69,  // U+000CA8 - U+000CAF : 0x55555505
  421.     107,  // U+000CB0 - U+000CB7 : 0x55505555
  422.      61,  // U+000CB8 - U+000CBF : 0x11510055
  423.     108,  // U+000CC0 - U+000CC7 : 0x11011111
  424.     103,  // U+000CC8 - U+000CCF : 0x00111101
  425.     109,  // U+000CD0 - U+000CD7 : 0x01100000
  426.     111,  // U+000CD8 - U+000CDF : 0x05000000
  427.      94,  // U+000CE0 - U+000CE7 : 0x22000055
  428.       3,  // U+000CE8 - U+000CEF : 0x22222222
  429.      16,  // U+000CF0 - U+000CF7 : 0x00000000
  430.      16,  // U+000CF8 - U+000CFF : 0x00000000
  431.     110,  // U+000D00 - U+000D07 : 0x55501100
  432.     106,  // U+000D08 - U+000D0F : 0x55055555
  433.      69,  // U+000D10 - U+000D17 : 0x55555505
  434.       6,  // U+000D18 - U+000D1F : 0x55555555
  435.       6,  // U+000D20 - U+000D27 : 0x55555555
  436.      69,  // U+000D28 - U+000D2F : 0x55555505
  437.       6,  // U+000D30 - U+000D37 : 0x55555555
  438.     101,  // U+000D38 - U+000D3F : 0x11000055
  439.     112,  // U+000D40 - U+000D47 : 0x11001111
  440.     103,  // U+000D48 - U+000D4F : 0x00111101
  441.      73,  // U+000D50 - U+000D57 : 0x10000000
  442.      16,  // U+000D58 - U+000D5F : 0x00000000
  443.      94,  // U+000D60 - U+000D67 : 0x22000055
  444.       3,  // U+000D68 - U+000D6F : 0x22222222
  445.      16,  // U+000D70 - U+000D77 : 0x00000000
  446.      16,  // U+000D78 - U+000D7F : 0x00000000
  447.     110,  // U+000D80 - U+000D87 : 0x55501100
  448.       6,  // U+000D88 - U+000D8F : 0x55555555
  449.      28,  // U+000D90 - U+000D97 : 0x05555555
  450.     113,  // U+000D98 - U+000D9F : 0x55555500
  451.       6,  // U+000DA0 - U+000DA7 : 0x55555555
  452.       6,  // U+000DA8 - U+000DAF : 0x55555555
  453.      27,  // U+000DB0 - U+000DB7 : 0x55555055
  454.     114,  // U+000DB8 - U+000DBF : 0x00505555
  455.      28,  // U+000DC0 - U+000DC7 : 0x05555555
  456.     115,  // U+000DC8 - U+000DCF : 0x10000100
  457.     116,  // U+000DD0 - U+000DD7 : 0x01011111
  458.      22,  // U+000DD8 - U+000DDF : 0x11111111
  459.      16,  // U+000DE0 - U+000DE7 : 0x00000000
  460.      16,  // U+000DE8 - U+000DEF : 0x00000000
  461.     117,  // U+000DF0 - U+000DF7 : 0x00061100
  462.      16,  // U+000DF8 - U+000DFF : 0x00000000
  463.      32,  // U+000E00 - U+000E07 : 0x55555550
  464.       6,  // U+000E08 - U+000E0F : 0x55555555
  465.       6,  // U+000E10 - U+000E17 : 0x55555555
  466.       6,  // U+000E18 - U+000E1F : 0x55555555
  467.       6,  // U+000E20 - U+000E27 : 0x55555555
  468.       6,  // U+000E28 - U+000E2F : 0x55555555
  469.     118,  // U+000E30 - U+000E37 : 0x11115515
  470.     119,  // U+000E38 - U+000E3F : 0x70000111
  471.     120,  // U+000E40 - U+000E47 : 0x15555555
  472.     121,  // U+000E48 - U+000E4F : 0x61111111
  473.       3,  // U+000E50 - U+000E57 : 0x22222222
  474.     122,  // U+000E58 - U+000E5F : 0x00006622
  475.      16,  // U+000E60 - U+000E67 : 0x00000000
  476.      16,  // U+000E68 - U+000E6F : 0x00000000
  477.      16,  // U+000E70 - U+000E77 : 0x00000000
  478.      16,  // U+000E78 - U+000E7F : 0x00000000
  479.     123,  // U+000E80 - U+000E87 : 0x50050550
  480.     124,  // U+000E88 - U+000E8F : 0x00500505
  481.     125,  // U+000E90 - U+000E97 : 0x55550000
  482.      32,  // U+000E98 - U+000E9F : 0x55555550
  483.     126,  // U+000EA0 - U+000EA7 : 0x50505550
  484.     127,  // U+000EA8 - U+000EAF : 0x55505500
  485.     118,  // U+000EB0 - U+000EB7 : 0x11115515
  486.     128,  // U+000EB8 - U+000EBF : 0x00511011
  487.     129,  // U+000EC0 - U+000EC7 : 0x05055555
  488.      42,  // U+000EC8 - U+000ECF : 0x00111111
  489.       3,  // U+000ED0 - U+000ED7 : 0x22222222
  490.     130,  // U+000ED8 - U+000EDF : 0x00550022
  491.      16,  // U+000EE0 - U+000EE7 : 0x00000000
  492.      16,  // U+000EE8 - U+000EEF : 0x00000000
  493.      16,  // U+000EF0 - U+000EF7 : 0x00000000
  494.      16,  // U+000EF8 - U+000EFF : 0x00000000
  495.     131,  // U+000F00 - U+000F07 : 0x66667775
  496.      53,  // U+000F08 - U+000F0F : 0x66666666
  497.     132,  // U+000F10 - U+000F17 : 0x77777666
  498.     133,  // U+000F18 - U+000F1F : 0x77777711
  499.       3,  // U+000F20 - U+000F27 : 0x22222222
  500.       3,  // U+000F28 - U+000F2F : 0x22222222
  501.     134,  // U+000F30 - U+000F37 : 0x17172222
  502.     135,  // U+000F38 - U+000F3F : 0x11666617
  503.       6,  // U+000F40 - U+000F47 : 0x55555555
  504.      32,  // U+000F48 - U+000F4F : 0x55555550
  505.       6,  // U+000F50 - U+000F57 : 0x55555555
  506.       6,  // U+000F58 - U+000F5F : 0x55555555
  507.       6,  // U+000F60 - U+000F67 : 0x55555555
  508.      38,  // U+000F68 - U+000F6F : 0x00000555
  509.      35,  // U+000F70 - U+000F77 : 0x11111110
  510.      22,  // U+000F78 - U+000F7F : 0x11111111
  511.     136,  // U+000F80 - U+000F87 : 0x11611111
  512.     137,  // U+000F88 - U+000F8F : 0x00005555
  513.      22,  // U+000F90 - U+000F97 : 0x11111111
  514.      35,  // U+000F98 - U+000F9F : 0x11111110
  515.      22,  // U+000FA0 - U+000FA7 : 0x11111111
  516.      22,  // U+000FA8 - U+000FAF : 0x11111111
  517.      22,  // U+000FB0 - U+000FB7 : 0x11111111
  518.     138,  // U+000FB8 - U+000FBF : 0x77011111
  519.     139,  // U+000FC0 - U+000FC7 : 0x71777777
  520.     140,  // U+000FC8 - U+000FCF : 0x70077777
  521.     141,  // U+000FD0 - U+000FD7 : 0x00000066
  522.      16,  // U+000FD8 - U+000FDF : 0x00000000
  523.      16,  // U+000FE0 - U+000FE7 : 0x00000000
  524.      16,  // U+000FE8 - U+000FEF : 0x00000000
  525.      16,  // U+000FF0 - U+000FF7 : 0x00000000
  526.      16,  // U+000FF8 - U+000FFF : 0x00000000
  527.       6,  // U+001000 - U+001007 : 0x55555555
  528.       6,  // U+001008 - U+00100F : 0x55555555
  529.       6,  // U+001010 - U+001017 : 0x55555555
  530.       6,  // U+001018 - U+00101F : 0x55555555
  531.      27,  // U+001020 - U+001027 : 0x55555055
  532.     142,  // U+001028 - U+00102F : 0x11110550
  533.     102,  // U+001030 - U+001037 : 0x11000111
  534.     143,  // U+001038 - U+00103F : 0x00000011
  535.       3,  // U+001040 - U+001047 : 0x22222222
  536.     144,  // U+001048 - U+00104F : 0x66666622
  537.      58,  // U+001050 - U+001057 : 0x11555555
  538.     143,  // U+001058 - U+00105F : 0x00000011
  539.      16,  // U+001060 - U+001067 : 0x00000000
  540.      16,  // U+001068 - U+00106F : 0x00000000
  541.      16,  // U+001070 - U+001077 : 0x00000000
  542.      16,  // U+001078 - U+00107F : 0x00000000
  543.      16,  // U+001080 - U+001087 : 0x00000000
  544.      16,  // U+001088 - U+00108F : 0x00000000
  545.      16,  // U+001090 - U+001097 : 0x00000000
  546.      16,  // U+001098 - U+00109F : 0x00000000
  547.       6,  // U+0010A0 - U+0010A7 : 0x55555555
  548.       6,  // U+0010A8 - U+0010AF : 0x55555555
  549.       6,  // U+0010B0 - U+0010B7 : 0x55555555
  550.       6,  // U+0010B8 - U+0010BF : 0x55555555
  551.      57,  // U+0010C0 - U+0010C7 : 0x00555555
  552.      16,  // U+0010C8 - U+0010CF : 0x00000000
  553.       6,  // U+0010D0 - U+0010D7 : 0x55555555
  554.       6,  // U+0010D8 - U+0010DF : 0x55555555
  555.       6,  // U+0010E0 - U+0010E7 : 0x55555555
  556.       6,  // U+0010E8 - U+0010EF : 0x55555555
  557.       6,  // U+0010F0 - U+0010F7 : 0x55555555
  558.     145,  // U+0010F8 - U+0010FF : 0x00056555
  559.       6,  // U+001100 - U+001107 : 0x55555555
  560.       6,  // U+001108 - U+00110F : 0x55555555
  561.       6,  // U+001110 - U+001117 : 0x55555555
  562.       6,  // U+001118 - U+00111F : 0x55555555
  563.       6,  // U+001120 - U+001127 : 0x55555555
  564.       6,  // U+001128 - U+00112F : 0x55555555
  565.       6,  // U+001130 - U+001137 : 0x55555555
  566.       6,  // U+001138 - U+00113F : 0x55555555
  567.       6,  // U+001140 - U+001147 : 0x55555555
  568.       6,  // U+001148 - U+00114F : 0x55555555
  569.       6,  // U+001150 - U+001157 : 0x55555555
  570.     146,  // U+001158 - U+00115F : 0x50000055
  571.       6,  // U+001160 - U+001167 : 0x55555555
  572.       6,  // U+001168 - U+00116F : 0x55555555
  573.       6,  // U+001170 - U+001177 : 0x55555555
  574.       6,  // U+001178 - U+00117F : 0x55555555
  575.       6,  // U+001180 - U+001187 : 0x55555555
  576.       6,  // U+001188 - U+00118F : 0x55555555
  577.       6,  // U+001190 - U+001197 : 0x55555555
  578.       6,  // U+001198 - U+00119F : 0x55555555
  579.      38,  // U+0011A0 - U+0011A7 : 0x00000555
  580.       6,  // U+0011A8 - U+0011AF : 0x55555555
  581.       6,  // U+0011B0 - U+0011B7 : 0x55555555
  582.       6,  // U+0011B8 - U+0011BF : 0x55555555
  583.       6,  // U+0011C0 - U+0011C7 : 0x55555555
  584.       6,  // U+0011C8 - U+0011CF : 0x55555555
  585.       6,  // U+0011D0 - U+0011D7 : 0x55555555
  586.       6,  // U+0011D8 - U+0011DF : 0x55555555
  587.       6,  // U+0011E0 - U+0011E7 : 0x55555555
  588.       6,  // U+0011E8 - U+0011EF : 0x55555555
  589.       6,  // U+0011F0 - U+0011F7 : 0x55555555
  590.      15,  // U+0011F8 - U+0011FF : 0x00000055
  591.       6,  // U+001200 - U+001207 : 0x55555555
  592.       6,  // U+001208 - U+00120F : 0x55555555
  593.       6,  // U+001210 - U+001217 : 0x55555555
  594.       6,  // U+001218 - U+00121F : 0x55555555
  595.       6,  // U+001220 - U+001227 : 0x55555555
  596.       6,  // U+001228 - U+00122F : 0x55555555
  597.       6,  // U+001230 - U+001237 : 0x55555555
  598.       6,  // U+001238 - U+00123F : 0x55555555
  599.       6,  // U+001240 - U+001247 : 0x55555555
  600.      98,  // U+001248 - U+00124F : 0x00555505
  601.      28,  // U+001250 - U+001257 : 0x05555555
  602.      98,  // U+001258 - U+00125F : 0x00555505
  603.       6,  // U+001260 - U+001267 : 0x55555555
  604.       6,  // U+001268 - U+00126F : 0x55555555
  605.       6,  // U+001270 - U+001277 : 0x55555555
  606.       6,  // U+001278 - U+00127F : 0x55555555
  607.       6,  // U+001280 - U+001287 : 0x55555555
  608.      98,  // U+001288 - U+00128F : 0x00555505
  609.       6,  // U+001290 - U+001297 : 0x55555555
  610.       6,  // U+001298 - U+00129F : 0x55555555
  611.       6,  // U+0012A0 - U+0012A7 : 0x55555555
  612.       6,  // U+0012A8 - U+0012AF : 0x55555555
  613.      98,  // U+0012B0 - U+0012B7 : 0x00555505
  614.      28,  // U+0012B8 - U+0012BF : 0x05555555
  615.      98,  // U+0012C0 - U+0012C7 : 0x00555505
  616.       6,  // U+0012C8 - U+0012CF : 0x55555555
  617.      28,  // U+0012D0 - U+0012D7 : 0x05555555
  618.       6,  // U+0012D8 - U+0012DF : 0x55555555
  619.       6,  // U+0012E0 - U+0012E7 : 0x55555555
  620.       6,  // U+0012E8 - U+0012EF : 0x55555555
  621.       6,  // U+0012F0 - U+0012F7 : 0x55555555
  622.       6,  // U+0012F8 - U+0012FF : 0x55555555
  623.       6,  // U+001300 - U+001307 : 0x55555555
  624.       6,  // U+001308 - U+00130F : 0x55555555
  625.      98,  // U+001310 - U+001317 : 0x00555505
  626.       6,  // U+001318 - U+00131F : 0x55555555
  627.       6,  // U+001320 - U+001327 : 0x55555555
  628.       6,  // U+001328 - U+00132F : 0x55555555
  629.       6,  // U+001330 - U+001337 : 0x55555555
  630.       6,  // U+001338 - U+00133F : 0x55555555
  631.       6,  // U+001340 - U+001347 : 0x55555555
  632.       6,  // U+001348 - U+00134F : 0x55555555
  633.       6,  // U+001350 - U+001357 : 0x55555555
  634.     147,  // U+001358 - U+00135F : 0x10000555
  635.     148,  // U+001360 - U+001367 : 0x66666667
  636.     149,  // U+001368 - U+00136F : 0x22222226
  637.       3,  // U+001370 - U+001377 : 0x22222222
  638.     150,  // U+001378 - U+00137F : 0x00022222
  639.       6,  // U+001380 - U+001387 : 0x55555555
  640.       6,  // U+001388 - U+00138F : 0x55555555
  641.      19,  // U+001390 - U+001397 : 0x77777777
  642.     151,  // U+001398 - U+00139F : 0x00000077
  643.       6,  // U+0013A0 - U+0013A7 : 0x55555555
  644.       6,  // U+0013A8 - U+0013AF : 0x55555555
  645.       6,  // U+0013B0 - U+0013B7 : 0x55555555
  646.       6,  // U+0013B8 - U+0013BF : 0x55555555
  647.       6,  // U+0013C0 - U+0013C7 : 0x55555555
  648.       6,  // U+0013C8 - U+0013CF : 0x55555555
  649.       6,  // U+0013D0 - U+0013D7 : 0x55555555
  650.       6,  // U+0013D8 - U+0013DF : 0x55555555
  651.       6,  // U+0013E0 - U+0013E7 : 0x55555555
  652.       6,  // U+0013E8 - U+0013EF : 0x55555555
  653.     152,  // U+0013F0 - U+0013F7 : 0x00055555
  654.      16,  // U+0013F8 - U+0013FF : 0x00000000
  655.      32,  // U+001400 - U+001407 : 0x55555550
  656.       6,  // U+001408 - U+00140F : 0x55555555
  657.       6,  // U+001410 - U+001417 : 0x55555555
  658.       6,  // U+001418 - U+00141F : 0x55555555
  659.       6,  // U+001420 - U+001427 : 0x55555555
  660.       6,  // U+001428 - U+00142F : 0x55555555
  661.       6,  // U+001430 - U+001437 : 0x55555555
  662.       6,  // U+001438 - U+00143F : 0x55555555
  663.       6,  // U+001440 - U+001447 : 0x55555555
  664.       6,  // U+001448 - U+00144F : 0x55555555
  665.       6,  // U+001450 - U+001457 : 0x55555555
  666.       6,  // U+001458 - U+00145F : 0x55555555
  667.       6,  // U+001460 - U+001467 : 0x55555555
  668.       6,  // U+001468 - U+00146F : 0x55555555
  669.       6,  // U+001470 - U+001477 : 0x55555555
  670.       6,  // U+001478 - U+00147F : 0x55555555
  671.       6,  // U+001480 - U+001487 : 0x55555555
  672.       6,  // U+001488 - U+00148F : 0x55555555
  673.       6,  // U+001490 - U+001497 : 0x55555555
  674.       6,  // U+001498 - U+00149F : 0x55555555
  675.       6,  // U+0014A0 - U+0014A7 : 0x55555555
  676.       6,  // U+0014A8 - U+0014AF : 0x55555555
  677.       6,  // U+0014B0 - U+0014B7 : 0x55555555
  678.       6,  // U+0014B8 - U+0014BF : 0x55555555
  679.       6,  // U+0014C0 - U+0014C7 : 0x55555555
  680.       6,  // U+0014C8 - U+0014CF : 0x55555555
  681.       6,  // U+0014D0 - U+0014D7 : 0x55555555
  682.       6,  // U+0014D8 - U+0014DF : 0x55555555
  683.       6,  // U+0014E0 - U+0014E7 : 0x55555555
  684.       6,  // U+0014E8 - U+0014EF : 0x55555555
  685.       6,  // U+0014F0 - U+0014F7 : 0x55555555
  686.       6,  // U+0014F8 - U+0014FF : 0x55555555
  687.       6,  // U+001500 - U+001507 : 0x55555555
  688.       6,  // U+001508 - U+00150F : 0x55555555
  689.       6,  // U+001510 - U+001517 : 0x55555555
  690.       6,  // U+001518 - U+00151F : 0x55555555
  691.       6,  // U+001520 - U+001527 : 0x55555555
  692.       6,  // U+001528 - U+00152F : 0x55555555
  693.       6,  // U+001530 - U+001537 : 0x55555555
  694.       6,  // U+001538 - U+00153F : 0x55555555
  695.       6,  // U+001540 - U+001547 : 0x55555555
  696.       6,  // U+001548 - U+00154F : 0x55555555
  697.       6,  // U+001550 - U+001557 : 0x55555555
  698.       6,  // U+001558 - U+00155F : 0x55555555
  699.       6,  // U+001560 - U+001567 : 0x55555555
  700.       6,  // U+001568 - U+00156F : 0x55555555
  701.       6,  // U+001570 - U+001577 : 0x55555555
  702.       6,  // U+001578 - U+00157F : 0x55555555
  703.       6,  // U+001580 - U+001587 : 0x55555555
  704.       6,  // U+001588 - U+00158F : 0x55555555
  705.       6,  // U+001590 - U+001597 : 0x55555555
  706.       6,  // U+001598 - U+00159F : 0x55555555
  707.       6,  // U+0015A0 - U+0015A7 : 0x55555555
  708.       6,  // U+0015A8 - U+0015AF : 0x55555555
  709.       6,  // U+0015B0 - U+0015B7 : 0x55555555
  710.       6,  // U+0015B8 - U+0015BF : 0x55555555
  711.       6,  // U+0015C0 - U+0015C7 : 0x55555555
  712.       6,  // U+0015C8 - U+0015CF : 0x55555555
  713.       6,  // U+0015D0 - U+0015D7 : 0x55555555
  714.       6,  // U+0015D8 - U+0015DF : 0x55555555
  715.       6,  // U+0015E0 - U+0015E7 : 0x55555555
  716.       6,  // U+0015E8 - U+0015EF : 0x55555555
  717.       6,  // U+0015F0 - U+0015F7 : 0x55555555
  718.       6,  // U+0015F8 - U+0015FF : 0x55555555
  719.       6,  // U+001600 - U+001607 : 0x55555555
  720.       6,  // U+001608 - U+00160F : 0x55555555
  721.       6,  // U+001610 - U+001617 : 0x55555555
  722.       6,  // U+001618 - U+00161F : 0x55555555
  723.       6,  // U+001620 - U+001627 : 0x55555555
  724.       6,  // U+001628 - U+00162F : 0x55555555
  725.       6,  // U+001630 - U+001637 : 0x55555555
  726.       6,  // U+001638 - U+00163F : 0x55555555
  727.       6,  // U+001640 - U+001647 : 0x55555555
  728.       6,  // U+001648 - U+00164F : 0x55555555
  729.       6,  // U+001650 - U+001657 : 0x55555555
  730.       6,  // U+001658 - U+00165F : 0x55555555
  731.       6,  // U+001660 - U+001667 : 0x55555555
  732.     153,  // U+001668 - U+00166F : 0x56655555
  733.      28,  // U+001670 - U+001677 : 0x05555555
  734.      16,  // U+001678 - U+00167F : 0x00000000
  735.     154,  // U+001680 - U+001687 : 0x55555553
  736.       6,  // U+001688 - U+00168F : 0x55555555
  737.       6,  // U+001690 - U+001697 : 0x55555555
  738.      39,  // U+001698 - U+00169F : 0x00066555
  739.       6,  // U+0016A0 - U+0016A7 : 0x55555555
  740.       6,  // U+0016A8 - U+0016AF : 0x55555555
  741.       6,  // U+0016B0 - U+0016B7 : 0x55555555
  742.       6,  // U+0016B8 - U+0016BF : 0x55555555
  743.       6,  // U+0016C0 - U+0016C7 : 0x55555555
  744.       6,  // U+0016C8 - U+0016CF : 0x55555555
  745.       6,  // U+0016D0 - U+0016D7 : 0x55555555
  746.       6,  // U+0016D8 - U+0016DF : 0x55555555
  747.       6,  // U+0016E0 - U+0016E7 : 0x55555555
  748.     155,  // U+0016E8 - U+0016EF : 0x22666555
  749.     156,  // U+0016F0 - U+0016F7 : 0x00000002
  750.      16,  // U+0016F8 - U+0016FF : 0x00000000
  751.       6,  // U+001700 - U+001707 : 0x55555555
  752.     106,  // U+001708 - U+00170F : 0x55055555
  753.     157,  // U+001710 - U+001717 : 0x00011155
  754.      16,  // U+001718 - U+00171F : 0x00000000
  755.       6,  // U+001720 - U+001727 : 0x55555555
  756.       6,  // U+001728 - U+00172F : 0x55555555
  757.     158,  // U+001730 - U+001737 : 0x06611155
  758.      16,  // U+001738 - U+00173F : 0x00000000
  759.       6,  // U+001740 - U+001747 : 0x55555555
  760.       6,  // U+001748 - U+00174F : 0x55555555
  761.     159,  // U+001750 - U+001757 : 0x00001155
  762.      16,  // U+001758 - U+00175F : 0x00000000
  763.       6,  // U+001760 - U+001767 : 0x55555555
  764.     106,  // U+001768 - U+00176F : 0x55055555
  765.     160,  // U+001770 - U+001777 : 0x00001105
  766.      16,  // U+001778 - U+00177F : 0x00000000
  767.       6,  // U+001780 - U+001787 : 0x55555555
  768.       6,  // U+001788 - U+00178F : 0x55555555
  769.       6,  // U+001790 - U+001797 : 0x55555555
  770.       6,  // U+001798 - U+00179F : 0x55555555
  771.       6,  // U+0017A0 - U+0017A7 : 0x55555555
  772.       6,  // U+0017A8 - U+0017AF : 0x55555555
  773.     161,  // U+0017B0 - U+0017B7 : 0x11445555
  774.      22,  // U+0017B8 - U+0017BF : 0x11111111
  775.      22,  // U+0017C0 - U+0017C7 : 0x11111111
  776.      22,  // U+0017C8 - U+0017CF : 0x11111111
  777.     162,  // U+0017D0 - U+0017D7 : 0x56661111
  778.     163,  // U+0017D8 - U+0017DF : 0x00157666
  779.       3,  // U+0017E0 - U+0017E7 : 0x22222222
  780.     164,  // U+0017E8 - U+0017EF : 0x00000022
  781.       3,  // U+0017F0 - U+0017F7 : 0x22222222
  782.     164,  // U+0017F8 - U+0017FF : 0x00000022
  783.      53,  // U+001800 - U+001807 : 0x66666666
  784.     165,  // U+001808 - U+00180F : 0x03111666
  785.       3,  // U+001810 - U+001817 : 0x22222222
  786.     164,  // U+001818 - U+00181F : 0x00000022
  787.       6,  // U+001820 - U+001827 : 0x55555555
  788.       6,  // U+001828 - U+00182F : 0x55555555
  789.       6,  // U+001830 - U+001837 : 0x55555555
  790.       6,  // U+001838 - U+00183F : 0x55555555
  791.       6,  // U+001840 - U+001847 : 0x55555555
  792.       6,  // U+001848 - U+00184F : 0x55555555
  793.       6,  // U+001850 - U+001857 : 0x55555555
  794.       6,  // U+001858 - U+00185F : 0x55555555
  795.       6,  // U+001860 - U+001867 : 0x55555555
  796.       6,  // U+001868 - U+00186F : 0x55555555
  797.       6,  // U+001870 - U+001877 : 0x55555555
  798.      16,  // U+001878 - U+00187F : 0x00000000
  799.       6,  // U+001880 - U+001887 : 0x55555555
  800.       6,  // U+001888 - U+00188F : 0x55555555
  801.       6,  // U+001890 - U+001897 : 0x55555555
  802.       6,  // U+001898 - U+00189F : 0x55555555
  803.       6,  // U+0018A0 - U+0018A7 : 0x55555555
  804.     166,  // U+0018A8 - U+0018AF : 0x00000015
  805.      16,  // U+0018B0 - U+0018B7 : 0x00000000
  806.      16,  // U+0018B8 - U+0018BF : 0x00000000
  807.      16,  // U+0018C0 - U+0018C7 : 0x00000000
  808.      16,  // U+0018C8 - U+0018CF : 0x00000000
  809.      16,  // U+0018D0 - U+0018D7 : 0x00000000
  810.      16,  // U+0018D8 - U+0018DF : 0x00000000
  811.      16,  // U+0018E0 - U+0018E7 : 0x00000000
  812.      16,  // U+0018E8 - U+0018EF : 0x00000000
  813.      16,  // U+0018F0 - U+0018F7 : 0x00000000
  814.      16,  // U+0018F8 - U+0018FF : 0x00000000
  815.       6,  // U+001900 - U+001907 : 0x55555555
  816.       6,  // U+001908 - U+00190F : 0x55555555
  817.       6,  // U+001910 - U+001917 : 0x55555555
  818.     152,  // U+001918 - U+00191F : 0x00055555
  819.      22,  // U+001920 - U+001927 : 0x11111111
  820.     167,  // U+001928 - U+00192F : 0x00001111
  821.      22,  // U+001930 - U+001937 : 0x11111111
  822.     167,  // U+001938 - U+00193F : 0x00001111
  823.     168,  // U+001940 - U+001947 : 0x22660007
  824.       3,  // U+001948 - U+00194F : 0x22222222
  825.       6,  // U+001950 - U+001957 : 0x55555555
  826.       6,  // U+001958 - U+00195F : 0x55555555
  827.       6,  // U+001960 - U+001967 : 0x55555555
  828.      57,  // U+001968 - U+00196F : 0x00555555
  829.     152,  // U+001970 - U+001977 : 0x00055555
  830.      16,  // U+001978 - U+00197F : 0x00000000
  831.       6,  // U+001980 - U+001987 : 0x55555555
  832.       6,  // U+001988 - U+00198F : 0x55555555
  833.       6,  // U+001990 - U+001997 : 0x55555555
  834.       6,  // U+001998 - U+00199F : 0x55555555
  835.       6,  // U+0019A0 - U+0019A7 : 0x55555555
  836.      15,  // U+0019A8 - U+0019AF : 0x00000055
  837.      22,  // U+0019B0 - U+0019B7 : 0x11111111
  838.      22,  // U+0019B8 - U+0019BF : 0x11111111
  839.      47,  // U+0019C0 - U+0019C7 : 0x55555551
  840.     143,  // U+0019C8 - U+0019CF : 0x00000011
  841.       3,  // U+0019D0 - U+0019D7 : 0x22222222
  842.     169,  // U+0019D8 - U+0019DF : 0x66000022
  843.      19,  // U+0019E0 - U+0019E7 : 0x77777777
  844.      19,  // U+0019E8 - U+0019EF : 0x77777777
  845.      19,  // U+0019F0 - U+0019F7 : 0x77777777
  846.      19,  // U+0019F8 - U+0019FF : 0x77777777
  847.       6,  // U+001A00 - U+001A07 : 0x55555555
  848.       6,  // U+001A08 - U+001A0F : 0x55555555
  849.     120,  // U+001A10 - U+001A17 : 0x15555555
  850.     170,  // U+001A18 - U+001A1F : 0x66001111
  851. };
  852.  
  853. static const PRUint8 gGenCatIdx3[736] = {
  854.       6,  // U+001D00 - U+001D07 : 0x55555555
  855.       6,  // U+001D08 - U+001D0F : 0x55555555
  856.       6,  // U+001D10 - U+001D17 : 0x55555555
  857.       6,  // U+001D18 - U+001D1F : 0x55555555
  858.       6,  // U+001D20 - U+001D27 : 0x55555555
  859.       6,  // U+001D28 - U+001D2F : 0x55555555
  860.       6,  // U+001D30 - U+001D37 : 0x55555555
  861.       6,  // U+001D38 - U+001D3F : 0x55555555
  862.       6,  // U+001D40 - U+001D47 : 0x55555555
  863.       6,  // U+001D48 - U+001D4F : 0x55555555
  864.       6,  // U+001D50 - U+001D57 : 0x55555555
  865.       6,  // U+001D58 - U+001D5F : 0x55555555
  866.       6,  // U+001D60 - U+001D67 : 0x55555555
  867.       6,  // U+001D68 - U+001D6F : 0x55555555
  868.       6,  // U+001D70 - U+001D77 : 0x55555555
  869.       6,  // U+001D78 - U+001D7F : 0x55555555
  870.       6,  // U+001D80 - U+001D87 : 0x55555555
  871.       6,  // U+001D88 - U+001D8F : 0x55555555
  872.       6,  // U+001D90 - U+001D97 : 0x55555555
  873.       6,  // U+001D98 - U+001D9F : 0x55555555
  874.       6,  // U+001DA0 - U+001DA7 : 0x55555555
  875.       6,  // U+001DA8 - U+001DAF : 0x55555555
  876.       6,  // U+001DB0 - U+001DB7 : 0x55555555
  877.       6,  // U+001DB8 - U+001DBF : 0x55555555
  878.     167,  // U+001DC0 - U+001DC7 : 0x00001111
  879.      16,  // U+001DC8 - U+001DCF : 0x00000000
  880.      16,  // U+001DD0 - U+001DD7 : 0x00000000
  881.      16,  // U+001DD8 - U+001DDF : 0x00000000
  882.      16,  // U+001DE0 - U+001DE7 : 0x00000000
  883.      16,  // U+001DE8 - U+001DEF : 0x00000000
  884.      16,  // U+001DF0 - U+001DF7 : 0x00000000
  885.      16,  // U+001DF8 - U+001DFF : 0x00000000
  886.       6,  // U+001E00 - U+001E07 : 0x55555555
  887.       6,  // U+001E08 - U+001E0F : 0x55555555
  888.       6,  // U+001E10 - U+001E17 : 0x55555555
  889.       6,  // U+001E18 - U+001E1F : 0x55555555
  890.       6,  // U+001E20 - U+001E27 : 0x55555555
  891.       6,  // U+001E28 - U+001E2F : 0x55555555
  892.       6,  // U+001E30 - U+001E37 : 0x55555555
  893.       6,  // U+001E38 - U+001E3F : 0x55555555
  894.       6,  // U+001E40 - U+001E47 : 0x55555555
  895.       6,  // U+001E48 - U+001E4F : 0x55555555
  896.       6,  // U+001E50 - U+001E57 : 0x55555555
  897.       6,  // U+001E58 - U+001E5F : 0x55555555
  898.       6,  // U+001E60 - U+001E67 : 0x55555555
  899.       6,  // U+001E68 - U+001E6F : 0x55555555
  900.       6,  // U+001E70 - U+001E77 : 0x55555555
  901.       6,  // U+001E78 - U+001E7F : 0x55555555
  902.       6,  // U+001E80 - U+001E87 : 0x55555555
  903.       6,  // U+001E88 - U+001E8F : 0x55555555
  904.       6,  // U+001E90 - U+001E97 : 0x55555555
  905.     137,  // U+001E98 - U+001E9F : 0x00005555
  906.       6,  // U+001EA0 - U+001EA7 : 0x55555555
  907.       6,  // U+001EA8 - U+001EAF : 0x55555555
  908.       6,  // U+001EB0 - U+001EB7 : 0x55555555
  909.       6,  // U+001EB8 - U+001EBF : 0x55555555
  910.       6,  // U+001EC0 - U+001EC7 : 0x55555555
  911.       6,  // U+001EC8 - U+001ECF : 0x55555555
  912.       6,  // U+001ED0 - U+001ED7 : 0x55555555
  913.       6,  // U+001ED8 - U+001EDF : 0x55555555
  914.       6,  // U+001EE0 - U+001EE7 : 0x55555555
  915.       6,  // U+001EE8 - U+001EEF : 0x55555555
  916.       6,  // U+001EF0 - U+001EF7 : 0x55555555
  917.      15,  // U+001EF8 - U+001EFF : 0x00000055
  918.       6,  // U+001F00 - U+001F07 : 0x55555555
  919.       6,  // U+001F08 - U+001F0F : 0x55555555
  920.      57,  // U+001F10 - U+001F17 : 0x00555555
  921.      57,  // U+001F18 - U+001F1F : 0x00555555
  922.       6,  // U+001F20 - U+001F27 : 0x55555555
  923.       6,  // U+001F28 - U+001F2F : 0x55555555
  924.       6,  // U+001F30 - U+001F37 : 0x55555555
  925.       6,  // U+001F38 - U+001F3F : 0x55555555
  926.      57,  // U+001F40 - U+001F47 : 0x00555555
  927.      57,  // U+001F48 - U+001F4F : 0x00555555
  928.       6,  // U+001F50 - U+001F57 : 0x55555555
  929.     171,  // U+001F58 - U+001F5F : 0x50505050
  930.       6,  // U+001F60 - U+001F67 : 0x55555555
  931.       6,  // U+001F68 - U+001F6F : 0x55555555
  932.       6,  // U+001F70 - U+001F77 : 0x55555555
  933.      57,  // U+001F78 - U+001F7F : 0x00555555
  934.       6,  // U+001F80 - U+001F87 : 0x55555555
  935.       6,  // U+001F88 - U+001F8F : 0x55555555
  936.       6,  // U+001F90 - U+001F97 : 0x55555555
  937.       6,  // U+001F98 - U+001F9F : 0x55555555
  938.       6,  // U+001FA0 - U+001FA7 : 0x55555555
  939.       6,  // U+001FA8 - U+001FAF : 0x55555555
  940.     106,  // U+001FB0 - U+001FB7 : 0x55055555
  941.     172,  // U+001FB8 - U+001FBF : 0x75755555
  942.     173,  // U+001FC0 - U+001FC7 : 0x55055577
  943.      20,  // U+001FC8 - U+001FCF : 0x77755555
  944.     174,  // U+001FD0 - U+001FD7 : 0x55005555
  945.     175,  // U+001FD8 - U+001FDF : 0x77705555
  946.       6,  // U+001FE0 - U+001FE7 : 0x55555555
  947.      20,  // U+001FE8 - U+001FEF : 0x77755555
  948.     176,  // U+001FF0 - U+001FF7 : 0x55055500
  949.     177,  // U+001FF8 - U+001FFF : 0x07755555
  950.     178,  // U+002000 - U+002007 : 0x33333333
  951.     179,  // U+002008 - U+00200F : 0x44444333
  952.      53,  // U+002010 - U+002017 : 0x66666666
  953.      53,  // U+002018 - U+00201F : 0x66666666
  954.      53,  // U+002020 - U+002027 : 0x66666666
  955.     180,  // U+002028 - U+00202F : 0x34444433
  956.      53,  // U+002030 - U+002037 : 0x66666666
  957.      53,  // U+002038 - U+00203F : 0x66666666
  958.     181,  // U+002040 - U+002047 : 0x66676666
  959.      53,  // U+002048 - U+00204F : 0x66666666
  960.     182,  // U+002050 - U+002057 : 0x66666766
  961.     183,  // U+002058 - U+00205F : 0x36666666
  962.      40,  // U+002060 - U+002067 : 0x00004444
  963.     184,  // U+002068 - U+00206F : 0x44444400
  964.     185,  // U+002070 - U+002077 : 0x22220052
  965.     186,  // U+002078 - U+00207F : 0x56677722
  966.       3,  // U+002080 - U+002087 : 0x22222222
  967.     187,  // U+002088 - U+00208F : 0x06677722
  968.     152,  // U+002090 - U+002097 : 0x00055555
  969.      16,  // U+002098 - U+00209F : 0x00000000
  970.      19,  // U+0020A0 - U+0020A7 : 0x77777777
  971.      19,  // U+0020A8 - U+0020AF : 0x77777777
  972.     188,  // U+0020B0 - U+0020B7 : 0x00777777
  973.      16,  // U+0020B8 - U+0020BF : 0x00000000
  974.      16,  // U+0020C0 - U+0020C7 : 0x00000000
  975.      16,  // U+0020C8 - U+0020CF : 0x00000000
  976.      22,  // U+0020D0 - U+0020D7 : 0x11111111
  977.      22,  // U+0020D8 - U+0020DF : 0x11111111
  978.      22,  // U+0020E0 - U+0020E7 : 0x11111111
  979.     167,  // U+0020E8 - U+0020EF : 0x00001111
  980.      16,  // U+0020F0 - U+0020F7 : 0x00000000
  981.      16,  // U+0020F8 - U+0020FF : 0x00000000
  982.     189,  // U+002100 - U+002107 : 0x57777577
  983.     190,  // U+002108 - U+00210F : 0x55555577
  984.     191,  // U+002110 - U+002117 : 0x77575555
  985.     192,  // U+002118 - U+00211F : 0x77555557
  986.     193,  // U+002120 - U+002127 : 0x75757777
  987.     194,  // U+002128 - U+00212F : 0x57555575
  988.     195,  // U+002130 - U+002137 : 0x55555755
  989.     196,  // U+002138 - U+00213F : 0x55557755
  990.     197,  // U+002140 - U+002147 : 0x55577777
  991.     198,  // U+002148 - U+00214F : 0x00077755
  992.     199,  // U+002150 - U+002157 : 0x22222000
  993.       3,  // U+002158 - U+00215F : 0x22222222
  994.       3,  // U+002160 - U+002167 : 0x22222222
  995.       3,  // U+002168 - U+00216F : 0x22222222
  996.       3,  // U+002170 - U+002177 : 0x22222222
  997.       3,  // U+002178 - U+00217F : 0x22222222
  998.     200,  // U+002180 - U+002187 : 0x00002222
  999.      16,  // U+002188 - U+00218F : 0x00000000
  1000.      19,  // U+002190 - U+002197 : 0x77777777
  1001.      19,  // U+002198 - U+00219F : 0x77777777
  1002.      19,  // U+0021A0 - U+0021A7 : 0x77777777
  1003.      19,  // U+0021A8 - U+0021AF : 0x77777777
  1004.      19,  // U+0021B0 - U+0021B7 : 0x77777777
  1005.      19,  // U+0021B8 - U+0021BF : 0x77777777
  1006.      19,  // U+0021C0 - U+0021C7 : 0x77777777
  1007.      19,  // U+0021C8 - U+0021CF : 0x77777777
  1008.      19,  // U+0021D0 - U+0021D7 : 0x77777777
  1009.      19,  // U+0021D8 - U+0021DF : 0x77777777
  1010.      19,  // U+0021E0 - U+0021E7 : 0x77777777
  1011.      19,  // U+0021E8 - U+0021EF : 0x77777777
  1012.      19,  // U+0021F0 - U+0021F7 : 0x77777777
  1013.      19,  // U+0021F8 - U+0021FF : 0x77777777
  1014.      19,  // U+002200 - U+002207 : 0x77777777
  1015.      19,  // U+002208 - U+00220F : 0x77777777
  1016.      19,  // U+002210 - U+002217 : 0x77777777
  1017.      19,  // U+002218 - U+00221F : 0x77777777
  1018.      19,  // U+002220 - U+002227 : 0x77777777
  1019.      19,  // U+002228 - U+00222F : 0x77777777
  1020.      19,  // U+002230 - U+002237 : 0x77777777
  1021.      19,  // U+002238 - U+00223F : 0x77777777
  1022.      19,  // U+002240 - U+002247 : 0x77777777
  1023.      19,  // U+002248 - U+00224F : 0x77777777
  1024.      19,  // U+002250 - U+002257 : 0x77777777
  1025.      19,  // U+002258 - U+00225F : 0x77777777
  1026.      19,  // U+002260 - U+002267 : 0x77777777
  1027.      19,  // U+002268 - U+00226F : 0x77777777
  1028.      19,  // U+002270 - U+002277 : 0x77777777
  1029.      19,  // U+002278 - U+00227F : 0x77777777
  1030.      19,  // U+002280 - U+002287 : 0x77777777
  1031.      19,  // U+002288 - U+00228F : 0x77777777
  1032.      19,  // U+002290 - U+002297 : 0x77777777
  1033.      19,  // U+002298 - U+00229F : 0x77777777
  1034.      19,  // U+0022A0 - U+0022A7 : 0x77777777
  1035.      19,  // U+0022A8 - U+0022AF : 0x77777777
  1036.      19,  // U+0022B0 - U+0022B7 : 0x77777777
  1037.      19,  // U+0022B8 - U+0022BF : 0x77777777
  1038.      19,  // U+0022C0 - U+0022C7 : 0x77777777
  1039.      19,  // U+0022C8 - U+0022CF : 0x77777777
  1040.      19,  // U+0022D0 - U+0022D7 : 0x77777777
  1041.      19,  // U+0022D8 - U+0022DF : 0x77777777
  1042.      19,  // U+0022E0 - U+0022E7 : 0x77777777
  1043.      19,  // U+0022E8 - U+0022EF : 0x77777777
  1044.      19,  // U+0022F0 - U+0022F7 : 0x77777777
  1045.      19,  // U+0022F8 - U+0022FF : 0x77777777
  1046.      19,  // U+002300 - U+002307 : 0x77777777
  1047.      19,  // U+002308 - U+00230F : 0x77777777
  1048.      19,  // U+002310 - U+002317 : 0x77777777
  1049.      19,  // U+002318 - U+00231F : 0x77777777
  1050.      19,  // U+002320 - U+002327 : 0x77777777
  1051.     201,  // U+002328 - U+00232F : 0x77777667
  1052.      19,  // U+002330 - U+002337 : 0x77777777
  1053.      19,  // U+002338 - U+00233F : 0x77777777
  1054.      19,  // U+002340 - U+002347 : 0x77777777
  1055.      19,  // U+002348 - U+00234F : 0x77777777
  1056.      19,  // U+002350 - U+002357 : 0x77777777
  1057.      19,  // U+002358 - U+00235F : 0x77777777
  1058.      19,  // U+002360 - U+002367 : 0x77777777
  1059.      19,  // U+002368 - U+00236F : 0x77777777
  1060.      19,  // U+002370 - U+002377 : 0x77777777
  1061.      19,  // U+002378 - U+00237F : 0x77777777
  1062.      19,  // U+002380 - U+002387 : 0x77777777
  1063.      19,  // U+002388 - U+00238F : 0x77777777
  1064.      19,  // U+002390 - U+002397 : 0x77777777
  1065.      19,  // U+002398 - U+00239F : 0x77777777
  1066.      19,  // U+0023A0 - U+0023A7 : 0x77777777
  1067.      19,  // U+0023A8 - U+0023AF : 0x77777777
  1068.     202,  // U+0023B0 - U+0023B7 : 0x76667777
  1069.      19,  // U+0023B8 - U+0023BF : 0x77777777
  1070.      19,  // U+0023C0 - U+0023C7 : 0x77777777
  1071.      19,  // U+0023C8 - U+0023CF : 0x77777777
  1072.      19,  // U+0023D0 - U+0023D7 : 0x77777777
  1073.     203,  // U+0023D8 - U+0023DF : 0x00007777
  1074.      16,  // U+0023E0 - U+0023E7 : 0x00000000
  1075.      16,  // U+0023E8 - U+0023EF : 0x00000000
  1076.      16,  // U+0023F0 - U+0023F7 : 0x00000000
  1077.      16,  // U+0023F8 - U+0023FF : 0x00000000
  1078.      19,  // U+002400 - U+002407 : 0x77777777
  1079.      19,  // U+002408 - U+00240F : 0x77777777
  1080.      19,  // U+002410 - U+002417 : 0x77777777
  1081.      19,  // U+002418 - U+00241F : 0x77777777
  1082.     204,  // U+002420 - U+002427 : 0x07777777
  1083.      16,  // U+002428 - U+00242F : 0x00000000
  1084.      16,  // U+002430 - U+002437 : 0x00000000
  1085.      16,  // U+002438 - U+00243F : 0x00000000
  1086.      19,  // U+002440 - U+002447 : 0x77777777
  1087.     105,  // U+002448 - U+00244F : 0x00000777
  1088.      16,  // U+002450 - U+002457 : 0x00000000
  1089.      16,  // U+002458 - U+00245F : 0x00000000
  1090.       3,  // U+002460 - U+002467 : 0x22222222
  1091.       3,  // U+002468 - U+00246F : 0x22222222
  1092.       3,  // U+002470 - U+002477 : 0x22222222
  1093.       3,  // U+002478 - U+00247F : 0x22222222
  1094.       3,  // U+002480 - U+002487 : 0x22222222
  1095.       3,  // U+002488 - U+00248F : 0x22222222
  1096.       3,  // U+002490 - U+002497 : 0x22222222
  1097.     205,  // U+002498 - U+00249F : 0x77772222
  1098.      19,  // U+0024A0 - U+0024A7 : 0x77777777
  1099.      19,  // U+0024A8 - U+0024AF : 0x77777777
  1100.      19,  // U+0024B0 - U+0024B7 : 0x77777777
  1101.      19,  // U+0024B8 - U+0024BF : 0x77777777
  1102.      19,  // U+0024C0 - U+0024C7 : 0x77777777
  1103.      19,  // U+0024C8 - U+0024CF : 0x77777777
  1104.      19,  // U+0024D0 - U+0024D7 : 0x77777777
  1105.      19,  // U+0024D8 - U+0024DF : 0x77777777
  1106.      19,  // U+0024E0 - U+0024E7 : 0x77777777
  1107.     206,  // U+0024E8 - U+0024EF : 0x22222277
  1108.       3,  // U+0024F0 - U+0024F7 : 0x22222222
  1109.       3,  // U+0024F8 - U+0024FF : 0x22222222
  1110.      19,  // U+002500 - U+002507 : 0x77777777
  1111.      19,  // U+002508 - U+00250F : 0x77777777
  1112.      19,  // U+002510 - U+002517 : 0x77777777
  1113.      19,  // U+002518 - U+00251F : 0x77777777
  1114.      19,  // U+002520 - U+002527 : 0x77777777
  1115.      19,  // U+002528 - U+00252F : 0x77777777
  1116.      19,  // U+002530 - U+002537 : 0x77777777
  1117.      19,  // U+002538 - U+00253F : 0x77777777
  1118.      19,  // U+002540 - U+002547 : 0x77777777
  1119.      19,  // U+002548 - U+00254F : 0x77777777
  1120.      19,  // U+002550 - U+002557 : 0x77777777
  1121.      19,  // U+002558 - U+00255F : 0x77777777
  1122.      19,  // U+002560 - U+002567 : 0x77777777
  1123.      19,  // U+002568 - U+00256F : 0x77777777
  1124.      19,  // U+002570 - U+002577 : 0x77777777
  1125.      19,  // U+002578 - U+00257F : 0x77777777
  1126.      19,  // U+002580 - U+002587 : 0x77777777
  1127.      19,  // U+002588 - U+00258F : 0x77777777
  1128.      19,  // U+002590 - U+002597 : 0x77777777
  1129.      19,  // U+002598 - U+00259F : 0x77777777
  1130.      19,  // U+0025A0 - U+0025A7 : 0x77777777
  1131.      19,  // U+0025A8 - U+0025AF : 0x77777777
  1132.      19,  // U+0025B0 - U+0025B7 : 0x77777777
  1133.      19,  // U+0025B8 - U+0025BF : 0x77777777
  1134.      19,  // U+0025C0 - U+0025C7 : 0x77777777
  1135.      19,  // U+0025C8 - U+0025CF : 0x77777777
  1136.      19,  // U+0025D0 - U+0025D7 : 0x77777777
  1137.      19,  // U+0025D8 - U+0025DF : 0x77777777
  1138.      19,  // U+0025E0 - U+0025E7 : 0x77777777
  1139.      19,  // U+0025E8 - U+0025EF : 0x77777777
  1140.      19,  // U+0025F0 - U+0025F7 : 0x77777777
  1141.      19,  // U+0025F8 - U+0025FF : 0x77777777
  1142.      19,  // U+002600 - U+002607 : 0x77777777
  1143.      19,  // U+002608 - U+00260F : 0x77777777
  1144.      19,  // U+002610 - U+002617 : 0x77777777
  1145.      19,  // U+002618 - U+00261F : 0x77777777
  1146.      19,  // U+002620 - U+002627 : 0x77777777
  1147.      19,  // U+002628 - U+00262F : 0x77777777
  1148.      19,  // U+002630 - U+002637 : 0x77777777
  1149.      19,  // U+002638 - U+00263F : 0x77777777
  1150.      19,  // U+002640 - U+002647 : 0x77777777
  1151.      19,  // U+002648 - U+00264F : 0x77777777
  1152.      19,  // U+002650 - U+002657 : 0x77777777
  1153.      19,  // U+002658 - U+00265F : 0x77777777
  1154.      19,  // U+002660 - U+002667 : 0x77777777
  1155.      19,  // U+002668 - U+00266F : 0x77777777
  1156.      19,  // U+002670 - U+002677 : 0x77777777
  1157.      19,  // U+002678 - U+00267F : 0x77777777
  1158.      19,  // U+002680 - U+002687 : 0x77777777
  1159.      19,  // U+002688 - U+00268F : 0x77777777
  1160.      19,  // U+002690 - U+002697 : 0x77777777
  1161.     207,  // U+002698 - U+00269F : 0x00077777
  1162.      19,  // U+0026A0 - U+0026A7 : 0x77777777
  1163.      19,  // U+0026A8 - U+0026AF : 0x77777777
  1164.     151,  // U+0026B0 - U+0026B7 : 0x00000077
  1165.      16,  // U+0026B8 - U+0026BF : 0x00000000
  1166.      16,  // U+0026C0 - U+0026C7 : 0x00000000
  1167.      16,  // U+0026C8 - U+0026CF : 0x00000000
  1168.      16,  // U+0026D0 - U+0026D7 : 0x00000000
  1169.      16,  // U+0026D8 - U+0026DF : 0x00000000
  1170.      16,  // U+0026E0 - U+0026E7 : 0x00000000
  1171.      16,  // U+0026E8 - U+0026EF : 0x00000000
  1172.      16,  // U+0026F0 - U+0026F7 : 0x00000000
  1173.      16,  // U+0026F8 - U+0026FF : 0x00000000
  1174.     208,  // U+002700 - U+002707 : 0x77077770
  1175.     209,  // U+002708 - U+00270F : 0x77770077
  1176.      19,  // U+002710 - U+002717 : 0x77777777
  1177.      19,  // U+002718 - U+00271F : 0x77777777
  1178.      19,  // U+002720 - U+002727 : 0x77777777
  1179.     210,  // U+002728 - U+00272F : 0x77777770
  1180.      19,  // U+002730 - U+002737 : 0x77777777
  1181.      19,  // U+002738 - U+00273F : 0x77777777
  1182.      19,  // U+002740 - U+002747 : 0x77777777
  1183.     211,  // U+002748 - U+00274F : 0x70707777
  1184.     212,  // U+002750 - U+002757 : 0x07000777
  1185.     204,  // U+002758 - U+00275F : 0x07777777
  1186.     210,  // U+002760 - U+002767 : 0x77777770
  1187.      53,  // U+002768 - U+00276F : 0x66666666
  1188.     213,  // U+002770 - U+002777 : 0x22666666
  1189.       3,  // U+002778 - U+00277F : 0x22222222
  1190.       3,  // U+002780 - U+002787 : 0x22222222
  1191.       3,  // U+002788 - U+00278F : 0x22222222
  1192.     214,  // U+002790 - U+002797 : 0x00072222
  1193.      19,  // U+002798 - U+00279F : 0x77777777
  1194.      19,  // U+0027A0 - U+0027A7 : 0x77777777
  1195.      19,  // U+0027A8 - U+0027AF : 0x77777777
  1196.     210,  // U+0027B0 - U+0027B7 : 0x77777770
  1197.     204,  // U+0027B8 - U+0027BF : 0x07777777
  1198.     215,  // U+0027C0 - U+0027C7 : 0x06677777
  1199.      16,  // U+0027C8 - U+0027CF : 0x00000000
  1200.      19,  // U+0027D0 - U+0027D7 : 0x77777777
  1201.      19,  // U+0027D8 - U+0027DF : 0x77777777
  1202.     216,  // U+0027E0 - U+0027E7 : 0x66777777
  1203.     217,  // U+0027E8 - U+0027EF : 0x00006666
  1204.      19,  // U+0027F0 - U+0027F7 : 0x77777777
  1205.      19,  // U+0027F8 - U+0027FF : 0x77777777
  1206.      19,  // U+002800 - U+002807 : 0x77777777
  1207.      19,  // U+002808 - U+00280F : 0x77777777
  1208.      19,  // U+002810 - U+002817 : 0x77777777
  1209.      19,  // U+002818 - U+00281F : 0x77777777
  1210.      19,  // U+002820 - U+002827 : 0x77777777
  1211.      19,  // U+002828 - U+00282F : 0x77777777
  1212.      19,  // U+002830 - U+002837 : 0x77777777
  1213.      19,  // U+002838 - U+00283F : 0x77777777
  1214.      19,  // U+002840 - U+002847 : 0x77777777
  1215.      19,  // U+002848 - U+00284F : 0x77777777
  1216.      19,  // U+002850 - U+002857 : 0x77777777
  1217.      19,  // U+002858 - U+00285F : 0x77777777
  1218.      19,  // U+002860 - U+002867 : 0x77777777
  1219.      19,  // U+002868 - U+00286F : 0x77777777
  1220.      19,  // U+002870 - U+002877 : 0x77777777
  1221.      19,  // U+002878 - U+00287F : 0x77777777
  1222.      19,  // U+002880 - U+002887 : 0x77777777
  1223.      19,  // U+002888 - U+00288F : 0x77777777
  1224.      19,  // U+002890 - U+002897 : 0x77777777
  1225.      19,  // U+002898 - U+00289F : 0x77777777
  1226.      19,  // U+0028A0 - U+0028A7 : 0x77777777
  1227.      19,  // U+0028A8 - U+0028AF : 0x77777777
  1228.      19,  // U+0028B0 - U+0028B7 : 0x77777777
  1229.      19,  // U+0028B8 - U+0028BF : 0x77777777
  1230.      19,  // U+0028C0 - U+0028C7 : 0x77777777
  1231.      19,  // U+0028C8 - U+0028CF : 0x77777777
  1232.      19,  // U+0028D0 - U+0028D7 : 0x77777777
  1233.      19,  // U+0028D8 - U+0028DF : 0x77777777
  1234.      19,  // U+0028E0 - U+0028E7 : 0x77777777
  1235.      19,  // U+0028E8 - U+0028EF : 0x77777777
  1236.      19,  // U+0028F0 - U+0028F7 : 0x77777777
  1237.      19,  // U+0028F8 - U+0028FF : 0x77777777
  1238.      19,  // U+002900 - U+002907 : 0x77777777
  1239.      19,  // U+002908 - U+00290F : 0x77777777
  1240.      19,  // U+002910 - U+002917 : 0x77777777
  1241.      19,  // U+002918 - U+00291F : 0x77777777
  1242.      19,  // U+002920 - U+002927 : 0x77777777
  1243.      19,  // U+002928 - U+00292F : 0x77777777
  1244.      19,  // U+002930 - U+002937 : 0x77777777
  1245.      19,  // U+002938 - U+00293F : 0x77777777
  1246.      19,  // U+002940 - U+002947 : 0x77777777
  1247.      19,  // U+002948 - U+00294F : 0x77777777
  1248.      19,  // U+002950 - U+002957 : 0x77777777
  1249.      19,  // U+002958 - U+00295F : 0x77777777
  1250.      19,  // U+002960 - U+002967 : 0x77777777
  1251.      19,  // U+002968 - U+00296F : 0x77777777
  1252.      19,  // U+002970 - U+002977 : 0x77777777
  1253.      19,  // U+002978 - U+00297F : 0x77777777
  1254.     218,  // U+002980 - U+002987 : 0x66666777
  1255.      53,  // U+002988 - U+00298F : 0x66666666
  1256.      53,  // U+002990 - U+002997 : 0x66666666
  1257.     219,  // U+002998 - U+00299F : 0x77777776
  1258.      19,  // U+0029A0 - U+0029A7 : 0x77777777
  1259.      19,  // U+0029A8 - U+0029AF : 0x77777777
  1260.      19,  // U+0029B0 - U+0029B7 : 0x77777777
  1261.      19,  // U+0029B8 - U+0029BF : 0x77777777
  1262.      19,  // U+0029C0 - U+0029C7 : 0x77777777
  1263.      19,  // U+0029C8 - U+0029CF : 0x77777777
  1264.      19,  // U+0029D0 - U+0029D7 : 0x77777777
  1265.     220,  // U+0029D8 - U+0029DF : 0x77776666
  1266.      19,  // U+0029E0 - U+0029E7 : 0x77777777
  1267.      19,  // U+0029E8 - U+0029EF : 0x77777777
  1268.      19,  // U+0029F0 - U+0029F7 : 0x77777777
  1269.     221,  // U+0029F8 - U+0029FF : 0x77667777
  1270.      19,  // U+002A00 - U+002A07 : 0x77777777
  1271.      19,  // U+002A08 - U+002A0F : 0x77777777
  1272.      19,  // U+002A10 - U+002A17 : 0x77777777
  1273.      19,  // U+002A18 - U+002A1F : 0x77777777
  1274.      19,  // U+002A20 - U+002A27 : 0x77777777
  1275.      19,  // U+002A28 - U+002A2F : 0x77777777
  1276.      19,  // U+002A30 - U+002A37 : 0x77777777
  1277.      19,  // U+002A38 - U+002A3F : 0x77777777
  1278.      19,  // U+002A40 - U+002A47 : 0x77777777
  1279.      19,  // U+002A48 - U+002A4F : 0x77777777
  1280.      19,  // U+002A50 - U+002A57 : 0x77777777
  1281.      19,  // U+002A58 - U+002A5F : 0x77777777
  1282.      19,  // U+002A60 - U+002A67 : 0x77777777
  1283.      19,  // U+002A68 - U+002A6F : 0x77777777
  1284.      19,  // U+002A70 - U+002A77 : 0x77777777
  1285.      19,  // U+002A78 - U+002A7F : 0x77777777
  1286.      19,  // U+002A80 - U+002A87 : 0x77777777
  1287.      19,  // U+002A88 - U+002A8F : 0x77777777
  1288.      19,  // U+002A90 - U+002A97 : 0x77777777
  1289.      19,  // U+002A98 - U+002A9F : 0x77777777
  1290.      19,  // U+002AA0 - U+002AA7 : 0x77777777
  1291.      19,  // U+002AA8 - U+002AAF : 0x77777777
  1292.      19,  // U+002AB0 - U+002AB7 : 0x77777777
  1293.      19,  // U+002AB8 - U+002ABF : 0x77777777
  1294.      19,  // U+002AC0 - U+002AC7 : 0x77777777
  1295.      19,  // U+002AC8 - U+002ACF : 0x77777777
  1296.      19,  // U+002AD0 - U+002AD7 : 0x77777777
  1297.      19,  // U+002AD8 - U+002ADF : 0x77777777
  1298.      19,  // U+002AE0 - U+002AE7 : 0x77777777
  1299.      19,  // U+002AE8 - U+002AEF : 0x77777777
  1300.      19,  // U+002AF0 - U+002AF7 : 0x77777777
  1301.      19,  // U+002AF8 - U+002AFF : 0x77777777
  1302.      19,  // U+002B00 - U+002B07 : 0x77777777
  1303.      19,  // U+002B08 - U+002B0F : 0x77777777
  1304.     203,  // U+002B10 - U+002B17 : 0x00007777
  1305.      16,  // U+002B18 - U+002B1F : 0x00000000
  1306.      16,  // U+002B20 - U+002B27 : 0x00000000
  1307.      16,  // U+002B28 - U+002B2F : 0x00000000
  1308.      16,  // U+002B30 - U+002B37 : 0x00000000
  1309.      16,  // U+002B38 - U+002B3F : 0x00000000
  1310.      16,  // U+002B40 - U+002B47 : 0x00000000
  1311.      16,  // U+002B48 - U+002B4F : 0x00000000
  1312.      16,  // U+002B50 - U+002B57 : 0x00000000
  1313.      16,  // U+002B58 - U+002B5F : 0x00000000
  1314.      16,  // U+002B60 - U+002B67 : 0x00000000
  1315.      16,  // U+002B68 - U+002B6F : 0x00000000
  1316.      16,  // U+002B70 - U+002B77 : 0x00000000
  1317.      16,  // U+002B78 - U+002B7F : 0x00000000
  1318.      16,  // U+002B80 - U+002B87 : 0x00000000
  1319.      16,  // U+002B88 - U+002B8F : 0x00000000
  1320.      16,  // U+002B90 - U+002B97 : 0x00000000
  1321.      16,  // U+002B98 - U+002B9F : 0x00000000
  1322.      16,  // U+002BA0 - U+002BA7 : 0x00000000
  1323.      16,  // U+002BA8 - U+002BAF : 0x00000000
  1324.      16,  // U+002BB0 - U+002BB7 : 0x00000000
  1325.      16,  // U+002BB8 - U+002BBF : 0x00000000
  1326.      16,  // U+002BC0 - U+002BC7 : 0x00000000
  1327.      16,  // U+002BC8 - U+002BCF : 0x00000000
  1328.      16,  // U+002BD0 - U+002BD7 : 0x00000000
  1329.      16,  // U+002BD8 - U+002BDF : 0x00000000
  1330.      16,  // U+002BE0 - U+002BE7 : 0x00000000
  1331.      16,  // U+002BE8 - U+002BEF : 0x00000000
  1332.      16,  // U+002BF0 - U+002BF7 : 0x00000000
  1333.      16,  // U+002BF8 - U+002BFF : 0x00000000
  1334.       6,  // U+002C00 - U+002C07 : 0x55555555
  1335.       6,  // U+002C08 - U+002C0F : 0x55555555
  1336.       6,  // U+002C10 - U+002C17 : 0x55555555
  1337.       6,  // U+002C18 - U+002C1F : 0x55555555
  1338.       6,  // U+002C20 - U+002C27 : 0x55555555
  1339.      28,  // U+002C28 - U+002C2F : 0x05555555
  1340.       6,  // U+002C30 - U+002C37 : 0x55555555
  1341.       6,  // U+002C38 - U+002C3F : 0x55555555
  1342.       6,  // U+002C40 - U+002C47 : 0x55555555
  1343.       6,  // U+002C48 - U+002C4F : 0x55555555
  1344.       6,  // U+002C50 - U+002C57 : 0x55555555
  1345.      28,  // U+002C58 - U+002C5F : 0x05555555
  1346.      16,  // U+002C60 - U+002C67 : 0x00000000
  1347.      16,  // U+002C68 - U+002C6F : 0x00000000
  1348.      16,  // U+002C70 - U+002C77 : 0x00000000
  1349.      16,  // U+002C78 - U+002C7F : 0x00000000
  1350.       6,  // U+002C80 - U+002C87 : 0x55555555
  1351.       6,  // U+002C88 - U+002C8F : 0x55555555
  1352.       6,  // U+002C90 - U+002C97 : 0x55555555
  1353.       6,  // U+002C98 - U+002C9F : 0x55555555
  1354.       6,  // U+002CA0 - U+002CA7 : 0x55555555
  1355.       6,  // U+002CA8 - U+002CAF : 0x55555555
  1356.       6,  // U+002CB0 - U+002CB7 : 0x55555555
  1357.       6,  // U+002CB8 - U+002CBF : 0x55555555
  1358.       6,  // U+002CC0 - U+002CC7 : 0x55555555
  1359.       6,  // U+002CC8 - U+002CCF : 0x55555555
  1360.       6,  // U+002CD0 - U+002CD7 : 0x55555555
  1361.       6,  // U+002CD8 - U+002CDF : 0x55555555
  1362.      20,  // U+002CE0 - U+002CE7 : 0x77755555
  1363.     105,  // U+002CE8 - U+002CEF : 0x00000777
  1364.      16,  // U+002CF0 - U+002CF7 : 0x00000000
  1365.     222,  // U+002CF8 - U+002CFF : 0x66266660
  1366.       6,  // U+002D00 - U+002D07 : 0x55555555
  1367.       6,  // U+002D08 - U+002D0F : 0x55555555
  1368.       6,  // U+002D10 - U+002D17 : 0x55555555
  1369.       6,  // U+002D18 - U+002D1F : 0x55555555
  1370.      57,  // U+002D20 - U+002D27 : 0x00555555
  1371.      16,  // U+002D28 - U+002D2F : 0x00000000
  1372.       6,  // U+002D30 - U+002D37 : 0x55555555
  1373.       6,  // U+002D38 - U+002D3F : 0x55555555
  1374.       6,  // U+002D40 - U+002D47 : 0x55555555
  1375.       6,  // U+002D48 - U+002D4F : 0x55555555
  1376.       6,  // U+002D50 - U+002D57 : 0x55555555
  1377.       6,  // U+002D58 - U+002D5F : 0x55555555
  1378.      57,  // U+002D60 - U+002D67 : 0x00555555
  1379.     223,  // U+002D68 - U+002D6F : 0x50000000
  1380.      16,  // U+002D70 - U+002D77 : 0x00000000
  1381.      16,  // U+002D78 - U+002D7F : 0x00000000
  1382.       6,  // U+002D80 - U+002D87 : 0x55555555
  1383.       6,  // U+002D88 - U+002D8F : 0x55555555
  1384.      28,  // U+002D90 - U+002D97 : 0x05555555
  1385.      16,  // U+002D98 - U+002D9F : 0x00000000
  1386.      28,  // U+002DA0 - U+002DA7 : 0x05555555
  1387.      28,  // U+002DA8 - U+002DAF : 0x05555555
  1388.      28,  // U+002DB0 - U+002DB7 : 0x05555555
  1389.      28,  // U+002DB8 - U+002DBF : 0x05555555
  1390.      28,  // U+002DC0 - U+002DC7 : 0x05555555
  1391.      28,  // U+002DC8 - U+002DCF : 0x05555555
  1392.      28,  // U+002DD0 - U+002DD7 : 0x05555555
  1393.      28,  // U+002DD8 - U+002DDF : 0x05555555
  1394.      16,  // U+002DE0 - U+002DE7 : 0x00000000
  1395.      16,  // U+002DE8 - U+002DEF : 0x00000000
  1396.      16,  // U+002DF0 - U+002DF7 : 0x00000000
  1397.      16,  // U+002DF8 - U+002DFF : 0x00000000
  1398.      53,  // U+002E00 - U+002E07 : 0x66666666
  1399.      53,  // U+002E08 - U+002E0F : 0x66666666
  1400.      53,  // U+002E10 - U+002E17 : 0x66666666
  1401.     224,  // U+002E18 - U+002E1F : 0x00660000
  1402.      16,  // U+002E20 - U+002E27 : 0x00000000
  1403.      16,  // U+002E28 - U+002E2F : 0x00000000
  1404.      16,  // U+002E30 - U+002E37 : 0x00000000
  1405.      16,  // U+002E38 - U+002E3F : 0x00000000
  1406.      16,  // U+002E40 - U+002E47 : 0x00000000
  1407.      16,  // U+002E48 - U+002E4F : 0x00000000
  1408.      16,  // U+002E50 - U+002E57 : 0x00000000
  1409.      16,  // U+002E58 - U+002E5F : 0x00000000
  1410.      16,  // U+002E60 - U+002E67 : 0x00000000
  1411.      16,  // U+002E68 - U+002E6F : 0x00000000
  1412.      16,  // U+002E70 - U+002E77 : 0x00000000
  1413.      16,  // U+002E78 - U+002E7F : 0x00000000
  1414.      19,  // U+002E80 - U+002E87 : 0x77777777
  1415.      19,  // U+002E88 - U+002E8F : 0x77777777
  1416.      19,  // U+002E90 - U+002E97 : 0x77777777
  1417.     225,  // U+002E98 - U+002E9F : 0x77777077
  1418.      19,  // U+002EA0 - U+002EA7 : 0x77777777
  1419.      19,  // U+002EA8 - U+002EAF : 0x77777777
  1420.      19,  // U+002EB0 - U+002EB7 : 0x77777777
  1421.      19,  // U+002EB8 - U+002EBF : 0x77777777
  1422.      19,  // U+002EC0 - U+002EC7 : 0x77777777
  1423.      19,  // U+002EC8 - U+002ECF : 0x77777777
  1424.      19,  // U+002ED0 - U+002ED7 : 0x77777777
  1425.      19,  // U+002ED8 - U+002EDF : 0x77777777
  1426.      19,  // U+002EE0 - U+002EE7 : 0x77777777
  1427.      19,  // U+002EE8 - U+002EEF : 0x77777777
  1428.     203,  // U+002EF0 - U+002EF7 : 0x00007777
  1429.      16,  // U+002EF8 - U+002EFF : 0x00000000
  1430.      19,  // U+002F00 - U+002F07 : 0x77777777
  1431.      19,  // U+002F08 - U+002F0F : 0x77777777
  1432.      19,  // U+002F10 - U+002F17 : 0x77777777
  1433.      19,  // U+002F18 - U+002F1F : 0x77777777
  1434.      19,  // U+002F20 - U+002F27 : 0x77777777
  1435.      19,  // U+002F28 - U+002F2F : 0x77777777
  1436.      19,  // U+002F30 - U+002F37 : 0x77777777
  1437.      19,  // U+002F38 - U+002F3F : 0x77777777
  1438.      19,  // U+002F40 - U+002F47 : 0x77777777
  1439.      19,  // U+002F48 - U+002F4F : 0x77777777
  1440.      19,  // U+002F50 - U+002F57 : 0x77777777
  1441.      19,  // U+002F58 - U+002F5F : 0x77777777
  1442.      19,  // U+002F60 - U+002F67 : 0x77777777
  1443.      19,  // U+002F68 - U+002F6F : 0x77777777
  1444.      19,  // U+002F70 - U+002F77 : 0x77777777
  1445.      19,  // U+002F78 - U+002F7F : 0x77777777
  1446.      19,  // U+002F80 - U+002F87 : 0x77777777
  1447.      19,  // U+002F88 - U+002F8F : 0x77777777
  1448.      19,  // U+002F90 - U+002F97 : 0x77777777
  1449.      19,  // U+002F98 - U+002F9F : 0x77777777
  1450.      19,  // U+002FA0 - U+002FA7 : 0x77777777
  1451.      19,  // U+002FA8 - U+002FAF : 0x77777777
  1452.      19,  // U+002FB0 - U+002FB7 : 0x77777777
  1453.      19,  // U+002FB8 - U+002FBF : 0x77777777
  1454.      19,  // U+002FC0 - U+002FC7 : 0x77777777
  1455.      19,  // U+002FC8 - U+002FCF : 0x77777777
  1456.     188,  // U+002FD0 - U+002FD7 : 0x00777777
  1457.      16,  // U+002FD8 - U+002FDF : 0x00000000
  1458.      16,  // U+002FE0 - U+002FE7 : 0x00000000
  1459.      16,  // U+002FE8 - U+002FEF : 0x00000000
  1460.      19,  // U+002FF0 - U+002FF7 : 0x77777777
  1461.     203,  // U+002FF8 - U+002FFF : 0x00007777
  1462.     226,  // U+003000 - U+003007 : 0x25576663
  1463.      53,  // U+003008 - U+00300F : 0x66666666
  1464.     227,  // U+003010 - U+003017 : 0x66667766
  1465.      53,  // U+003018 - U+00301F : 0x66666666
  1466.     228,  // U+003020 - U+003027 : 0x22222227
  1467.     229,  // U+003028 - U+00302F : 0x11111122
  1468.     230,  // U+003030 - U+003037 : 0x77555556
  1469.     231,  // U+003038 - U+00303F : 0x77655222
  1470.      32,  // U+003040 - U+003047 : 0x55555550
  1471.       6,  // U+003048 - U+00304F : 0x55555555
  1472.       6,  // U+003050 - U+003057 : 0x55555555
  1473.       6,  // U+003058 - U+00305F : 0x55555555
  1474.       6,  // U+003060 - U+003067 : 0x55555555
  1475.       6,  // U+003068 - U+00306F : 0x55555555
  1476.       6,  // U+003070 - U+003077 : 0x55555555
  1477.       6,  // U+003078 - U+00307F : 0x55555555
  1478.       6,  // U+003080 - U+003087 : 0x55555555
  1479.       6,  // U+003088 - U+00308F : 0x55555555
  1480.      28,  // U+003090 - U+003097 : 0x05555555
  1481.     232,  // U+003098 - U+00309F : 0x55577110
  1482.       5,  // U+0030A0 - U+0030A7 : 0x55555556
  1483.       6,  // U+0030A8 - U+0030AF : 0x55555555
  1484.       6,  // U+0030B0 - U+0030B7 : 0x55555555
  1485.       6,  // U+0030B8 - U+0030BF : 0x55555555
  1486.       6,  // U+0030C0 - U+0030C7 : 0x55555555
  1487.       6,  // U+0030C8 - U+0030CF : 0x55555555
  1488.       6,  // U+0030D0 - U+0030D7 : 0x55555555
  1489.       6,  // U+0030D8 - U+0030DF : 0x55555555
  1490.       6,  // U+0030E0 - U+0030E7 : 0x55555555
  1491.       6,  // U+0030E8 - U+0030EF : 0x55555555
  1492.       6,  // U+0030F0 - U+0030F7 : 0x55555555
  1493.     233,  // U+0030F8 - U+0030FF : 0x55556555
  1494.     234,  // U+003100 - U+003107 : 0x55500000
  1495.       6,  // U+003108 - U+00310F : 0x55555555
  1496.       6,  // U+003110 - U+003117 : 0x55555555
  1497.       6,  // U+003118 - U+00311F : 0x55555555
  1498.       6,  // U+003120 - U+003127 : 0x55555555
  1499.     152,  // U+003128 - U+00312F : 0x00055555
  1500.      32,  // U+003130 - U+003137 : 0x55555550
  1501.       6,  // U+003138 - U+00313F : 0x55555555
  1502.       6,  // U+003140 - U+003147 : 0x55555555
  1503.       6,  // U+003148 - U+00314F : 0x55555555
  1504.       6,  // U+003150 - U+003157 : 0x55555555
  1505.       6,  // U+003158 - U+00315F : 0x55555555
  1506.       6,  // U+003160 - U+003167 : 0x55555555
  1507.       6,  // U+003168 - U+00316F : 0x55555555
  1508.       6,  // U+003170 - U+003177 : 0x55555555
  1509.       6,  // U+003178 - U+00317F : 0x55555555
  1510.       6,  // U+003180 - U+003187 : 0x55555555
  1511.      28,  // U+003188 - U+00318F : 0x05555555
  1512.     235,  // U+003190 - U+003197 : 0x77222277
  1513.      19,  // U+003198 - U+00319F : 0x77777777
  1514.       6,  // U+0031A0 - U+0031A7 : 0x55555555
  1515.       6,  // U+0031A8 - U+0031AF : 0x55555555
  1516.       6,  // U+0031B0 - U+0031B7 : 0x55555555
  1517.      16,  // U+0031B8 - U+0031BF : 0x00000000
  1518.      19,  // U+0031C0 - U+0031C7 : 0x77777777
  1519.      19,  // U+0031C8 - U+0031CF : 0x77777777
  1520.      16,  // U+0031D0 - U+0031D7 : 0x00000000
  1521.      16,  // U+0031D8 - U+0031DF : 0x00000000
  1522.      16,  // U+0031E0 - U+0031E7 : 0x00000000
  1523.      16,  // U+0031E8 - U+0031EF : 0x00000000
  1524.       6,  // U+0031F0 - U+0031F7 : 0x55555555
  1525.       6,  // U+0031F8 - U+0031FF : 0x55555555
  1526.      19,  // U+003200 - U+003207 : 0x77777777
  1527.      19,  // U+003208 - U+00320F : 0x77777777
  1528.      19,  // U+003210 - U+003217 : 0x77777777
  1529.     204,  // U+003218 - U+00321F : 0x07777777
  1530.       3,  // U+003220 - U+003227 : 0x22222222
  1531.     236,  // U+003228 - U+00322F : 0x77777722
  1532.      19,  // U+003230 - U+003237 : 0x77777777
  1533.      19,  // U+003238 - U+00323F : 0x77777777
  1534.     203,  // U+003240 - U+003247 : 0x00007777
  1535.      16,  // U+003248 - U+00324F : 0x00000000
  1536.     228,  // U+003250 - U+003257 : 0x22222227
  1537.       3,  // U+003258 - U+00325F : 0x22222222
  1538.      19,  // U+003260 - U+003267 : 0x77777777
  1539.      19,  // U+003268 - U+00326F : 0x77777777
  1540.      19,  // U+003270 - U+003277 : 0x77777777
  1541.      19,  // U+003278 - U+00327F : 0x77777777
  1542.       3,  // U+003280 - U+003287 : 0x22222222
  1543.     236,  // U+003288 - U+00328F : 0x77777722
  1544.      19,  // U+003290 - U+003297 : 0x77777777
  1545.      19,  // U+003298 - U+00329F : 0x77777777
  1546.      19,  // U+0032A0 - U+0032A7 : 0x77777777
  1547.      19,  // U+0032A8 - U+0032AF : 0x77777777
  1548.     228,  // U+0032B0 - U+0032B7 : 0x22222227
  1549.       3,  // U+0032B8 - U+0032BF : 0x22222222
  1550.      19,  // U+0032C0 - U+0032C7 : 0x77777777
  1551.      19,  // U+0032C8 - U+0032CF : 0x77777777
  1552.      19,  // U+0032D0 - U+0032D7 : 0x77777777
  1553.      19,  // U+0032D8 - U+0032DF : 0x77777777
  1554.      19,  // U+0032E0 - U+0032E7 : 0x77777777
  1555.      19,  // U+0032E8 - U+0032EF : 0x77777777
  1556.      19,  // U+0032F0 - U+0032F7 : 0x77777777
  1557.     204,  // U+0032F8 - U+0032FF : 0x07777777
  1558.      19,  // U+003300 - U+003307 : 0x77777777
  1559.      19,  // U+003308 - U+00330F : 0x77777777
  1560.      19,  // U+003310 - U+003317 : 0x77777777
  1561.      19,  // U+003318 - U+00331F : 0x77777777
  1562.      19,  // U+003320 - U+003327 : 0x77777777
  1563.      19,  // U+003328 - U+00332F : 0x77777777
  1564.      19,  // U+003330 - U+003337 : 0x77777777
  1565.      19,  // U+003338 - U+00333F : 0x77777777
  1566.      19,  // U+003340 - U+003347 : 0x77777777
  1567.      19,  // U+003348 - U+00334F : 0x77777777
  1568.      19,  // U+003350 - U+003357 : 0x77777777
  1569.      19,  // U+003358 - U+00335F : 0x77777777
  1570.      19,  // U+003360 - U+003367 : 0x77777777
  1571.      19,  // U+003368 - U+00336F : 0x77777777
  1572.      19,  // U+003370 - U+003377 : 0x77777777
  1573.      19,  // U+003378 - U+00337F : 0x77777777
  1574.      19,  // U+003380 - U+003387 : 0x77777777
  1575.      19,  // U+003388 - U+00338F : 0x77777777
  1576.      19,  // U+003390 - U+003397 : 0x77777777
  1577.      19,  // U+003398 - U+00339F : 0x77777777
  1578.      19,  // U+0033A0 - U+0033A7 : 0x77777777
  1579.      19,  // U+0033A8 - U+0033AF : 0x77777777
  1580.      19,  // U+0033B0 - U+0033B7 : 0x77777777
  1581.      19,  // U+0033B8 - U+0033BF : 0x77777777
  1582.      19,  // U+0033C0 - U+0033C7 : 0x77777777
  1583.      19,  // U+0033C8 - U+0033CF : 0x77777777
  1584.      19,  // U+0033D0 - U+0033D7 : 0x77777777
  1585.      19,  // U+0033D8 - U+0033DF : 0x77777777
  1586.      19,  // U+0033E0 - U+0033E7 : 0x77777777
  1587.      19,  // U+0033E8 - U+0033EF : 0x77777777
  1588.      19,  // U+0033F0 - U+0033F7 : 0x77777777
  1589.      19,  // U+0033F8 - U+0033FF : 0x77777777
  1590. };
  1591.  
  1592. static const PRUint8 gGenCatIdx4[8] = {
  1593.      19,  // U+004DC0 - U+004DC7 : 0x77777777
  1594.      19,  // U+004DC8 - U+004DCF : 0x77777777
  1595.      19,  // U+004DD0 - U+004DD7 : 0x77777777
  1596.      19,  // U+004DD8 - U+004DDF : 0x77777777
  1597.      19,  // U+004DE0 - U+004DE7 : 0x77777777
  1598.      19,  // U+004DE8 - U+004DEF : 0x77777777
  1599.      19,  // U+004DF0 - U+004DF7 : 0x77777777
  1600.      19,  // U+004DF8 - U+004DFF : 0x77777777
  1601. };
  1602.  
  1603. static const PRUint8 gGenCatIdx5[160] = {
  1604.       6,  // U+00A000 - U+00A007 : 0x55555555
  1605.       6,  // U+00A008 - U+00A00F : 0x55555555
  1606.       6,  // U+00A010 - U+00A017 : 0x55555555
  1607.       6,  // U+00A018 - U+00A01F : 0x55555555
  1608.       6,  // U+00A020 - U+00A027 : 0x55555555
  1609.       6,  // U+00A028 - U+00A02F : 0x55555555
  1610.       6,  // U+00A030 - U+00A037 : 0x55555555
  1611.       6,  // U+00A038 - U+00A03F : 0x55555555
  1612.       6,  // U+00A040 - U+00A047 : 0x55555555
  1613.       6,  // U+00A048 - U+00A04F : 0x55555555
  1614.       6,  // U+00A050 - U+00A057 : 0x55555555
  1615.       6,  // U+00A058 - U+00A05F : 0x55555555
  1616.       6,  // U+00A060 - U+00A067 : 0x55555555
  1617.       6,  // U+00A068 - U+00A06F : 0x55555555
  1618.       6,  // U+00A070 - U+00A077 : 0x55555555
  1619.       6,  // U+00A078 - U+00A07F : 0x55555555
  1620.       6,  // U+00A080 - U+00A087 : 0x55555555
  1621.       6,  // U+00A088 - U+00A08F : 0x55555555
  1622.       6,  // U+00A090 - U+00A097 : 0x55555555
  1623.       6,  // U+00A098 - U+00A09F : 0x55555555
  1624.       6,  // U+00A0A0 - U+00A0A7 : 0x55555555
  1625.       6,  // U+00A0A8 - U+00A0AF : 0x55555555
  1626.       6,  // U+00A0B0 - U+00A0B7 : 0x55555555
  1627.       6,  // U+00A0B8 - U+00A0BF : 0x55555555
  1628.       6,  // U+00A0C0 - U+00A0C7 : 0x55555555
  1629.       6,  // U+00A0C8 - U+00A0CF : 0x55555555
  1630.       6,  // U+00A0D0 - U+00A0D7 : 0x55555555
  1631.       6,  // U+00A0D8 - U+00A0DF : 0x55555555
  1632.       6,  // U+00A0E0 - U+00A0E7 : 0x55555555
  1633.       6,  // U+00A0E8 - U+00A0EF : 0x55555555
  1634.       6,  // U+00A0F0 - U+00A0F7 : 0x55555555
  1635.       6,  // U+00A0F8 - U+00A0FF : 0x55555555
  1636.       6,  // U+00A100 - U+00A107 : 0x55555555
  1637.       6,  // U+00A108 - U+00A10F : 0x55555555
  1638.       6,  // U+00A110 - U+00A117 : 0x55555555
  1639.       6,  // U+00A118 - U+00A11F : 0x55555555
  1640.       6,  // U+00A120 - U+00A127 : 0x55555555
  1641.       6,  // U+00A128 - U+00A12F : 0x55555555
  1642.       6,  // U+00A130 - U+00A137 : 0x55555555
  1643.       6,  // U+00A138 - U+00A13F : 0x55555555
  1644.       6,  // U+00A140 - U+00A147 : 0x55555555
  1645.       6,  // U+00A148 - U+00A14F : 0x55555555
  1646.       6,  // U+00A150 - U+00A157 : 0x55555555
  1647.       6,  // U+00A158 - U+00A15F : 0x55555555
  1648.       6,  // U+00A160 - U+00A167 : 0x55555555
  1649.       6,  // U+00A168 - U+00A16F : 0x55555555
  1650.       6,  // U+00A170 - U+00A177 : 0x55555555
  1651.       6,  // U+00A178 - U+00A17F : 0x55555555
  1652.       6,  // U+00A180 - U+00A187 : 0x55555555
  1653.       6,  // U+00A188 - U+00A18F : 0x55555555
  1654.       6,  // U+00A190 - U+00A197 : 0x55555555
  1655.       6,  // U+00A198 - U+00A19F : 0x55555555
  1656.       6,  // U+00A1A0 - U+00A1A7 : 0x55555555
  1657.       6,  // U+00A1A8 - U+00A1AF : 0x55555555
  1658.       6,  // U+00A1B0 - U+00A1B7 : 0x55555555
  1659.       6,  // U+00A1B8 - U+00A1BF : 0x55555555
  1660.       6,  // U+00A1C0 - U+00A1C7 : 0x55555555
  1661.       6,  // U+00A1C8 - U+00A1CF : 0x55555555
  1662.       6,  // U+00A1D0 - U+00A1D7 : 0x55555555
  1663.       6,  // U+00A1D8 - U+00A1DF : 0x55555555
  1664.       6,  // U+00A1E0 - U+00A1E7 : 0x55555555
  1665.       6,  // U+00A1E8 - U+00A1EF : 0x55555555
  1666.       6,  // U+00A1F0 - U+00A1F7 : 0x55555555
  1667.       6,  // U+00A1F8 - U+00A1FF : 0x55555555
  1668.       6,  // U+00A200 - U+00A207 : 0x55555555
  1669.       6,  // U+00A208 - U+00A20F : 0x55555555
  1670.       6,  // U+00A210 - U+00A217 : 0x55555555
  1671.       6,  // U+00A218 - U+00A21F : 0x55555555
  1672.       6,  // U+00A220 - U+00A227 : 0x55555555
  1673.       6,  // U+00A228 - U+00A22F : 0x55555555
  1674.       6,  // U+00A230 - U+00A237 : 0x55555555
  1675.       6,  // U+00A238 - U+00A23F : 0x55555555
  1676.       6,  // U+00A240 - U+00A247 : 0x55555555
  1677.       6,  // U+00A248 - U+00A24F : 0x55555555
  1678.       6,  // U+00A250 - U+00A257 : 0x55555555
  1679.       6,  // U+00A258 - U+00A25F : 0x55555555
  1680.       6,  // U+00A260 - U+00A267 : 0x55555555
  1681.       6,  // U+00A268 - U+00A26F : 0x55555555
  1682.       6,  // U+00A270 - U+00A277 : 0x55555555
  1683.       6,  // U+00A278 - U+00A27F : 0x55555555
  1684.       6,  // U+00A280 - U+00A287 : 0x55555555
  1685.       6,  // U+00A288 - U+00A28F : 0x55555555
  1686.       6,  // U+00A290 - U+00A297 : 0x55555555
  1687.       6,  // U+00A298 - U+00A29F : 0x55555555
  1688.       6,  // U+00A2A0 - U+00A2A7 : 0x55555555
  1689.       6,  // U+00A2A8 - U+00A2AF : 0x55555555
  1690.       6,  // U+00A2B0 - U+00A2B7 : 0x55555555
  1691.       6,  // U+00A2B8 - U+00A2BF : 0x55555555
  1692.       6,  // U+00A2C0 - U+00A2C7 : 0x55555555
  1693.       6,  // U+00A2C8 - U+00A2CF : 0x55555555
  1694.       6,  // U+00A2D0 - U+00A2D7 : 0x55555555
  1695.       6,  // U+00A2D8 - U+00A2DF : 0x55555555
  1696.       6,  // U+00A2E0 - U+00A2E7 : 0x55555555
  1697.       6,  // U+00A2E8 - U+00A2EF : 0x55555555
  1698.       6,  // U+00A2F0 - U+00A2F7 : 0x55555555
  1699.       6,  // U+00A2F8 - U+00A2FF : 0x55555555
  1700.       6,  // U+00A300 - U+00A307 : 0x55555555
  1701.       6,  // U+00A308 - U+00A30F : 0x55555555
  1702.       6,  // U+00A310 - U+00A317 : 0x55555555
  1703.       6,  // U+00A318 - U+00A31F : 0x55555555
  1704.       6,  // U+00A320 - U+00A327 : 0x55555555
  1705.       6,  // U+00A328 - U+00A32F : 0x55555555
  1706.       6,  // U+00A330 - U+00A337 : 0x55555555
  1707.       6,  // U+00A338 - U+00A33F : 0x55555555
  1708.       6,  // U+00A340 - U+00A347 : 0x55555555
  1709.       6,  // U+00A348 - U+00A34F : 0x55555555
  1710.       6,  // U+00A350 - U+00A357 : 0x55555555
  1711.       6,  // U+00A358 - U+00A35F : 0x55555555
  1712.       6,  // U+00A360 - U+00A367 : 0x55555555
  1713.       6,  // U+00A368 - U+00A36F : 0x55555555
  1714.       6,  // U+00A370 - U+00A377 : 0x55555555
  1715.       6,  // U+00A378 - U+00A37F : 0x55555555
  1716.       6,  // U+00A380 - U+00A387 : 0x55555555
  1717.       6,  // U+00A388 - U+00A38F : 0x55555555
  1718.       6,  // U+00A390 - U+00A397 : 0x55555555
  1719.       6,  // U+00A398 - U+00A39F : 0x55555555
  1720.       6,  // U+00A3A0 - U+00A3A7 : 0x55555555
  1721.       6,  // U+00A3A8 - U+00A3AF : 0x55555555
  1722.       6,  // U+00A3B0 - U+00A3B7 : 0x55555555
  1723.       6,  // U+00A3B8 - U+00A3BF : 0x55555555
  1724.       6,  // U+00A3C0 - U+00A3C7 : 0x55555555
  1725.       6,  // U+00A3C8 - U+00A3CF : 0x55555555
  1726.       6,  // U+00A3D0 - U+00A3D7 : 0x55555555
  1727.       6,  // U+00A3D8 - U+00A3DF : 0x55555555
  1728.       6,  // U+00A3E0 - U+00A3E7 : 0x55555555
  1729.       6,  // U+00A3E8 - U+00A3EF : 0x55555555
  1730.       6,  // U+00A3F0 - U+00A3F7 : 0x55555555
  1731.       6,  // U+00A3F8 - U+00A3FF : 0x55555555
  1732.       6,  // U+00A400 - U+00A407 : 0x55555555
  1733.       6,  // U+00A408 - U+00A40F : 0x55555555
  1734.       6,  // U+00A410 - U+00A417 : 0x55555555
  1735.       6,  // U+00A418 - U+00A41F : 0x55555555
  1736.       6,  // U+00A420 - U+00A427 : 0x55555555
  1737.       6,  // U+00A428 - U+00A42F : 0x55555555
  1738.       6,  // U+00A430 - U+00A437 : 0x55555555
  1739.       6,  // U+00A438 - U+00A43F : 0x55555555
  1740.       6,  // U+00A440 - U+00A447 : 0x55555555
  1741.       6,  // U+00A448 - U+00A44F : 0x55555555
  1742.       6,  // U+00A450 - U+00A457 : 0x55555555
  1743.       6,  // U+00A458 - U+00A45F : 0x55555555
  1744.       6,  // U+00A460 - U+00A467 : 0x55555555
  1745.       6,  // U+00A468 - U+00A46F : 0x55555555
  1746.       6,  // U+00A470 - U+00A477 : 0x55555555
  1747.       6,  // U+00A478 - U+00A47F : 0x55555555
  1748.       6,  // U+00A480 - U+00A487 : 0x55555555
  1749.     152,  // U+00A488 - U+00A48F : 0x00055555
  1750.      19,  // U+00A490 - U+00A497 : 0x77777777
  1751.      19,  // U+00A498 - U+00A49F : 0x77777777
  1752.      19,  // U+00A4A0 - U+00A4A7 : 0x77777777
  1753.      19,  // U+00A4A8 - U+00A4AF : 0x77777777
  1754.      19,  // U+00A4B0 - U+00A4B7 : 0x77777777
  1755.      19,  // U+00A4B8 - U+00A4BF : 0x77777777
  1756.     204,  // U+00A4C0 - U+00A4C7 : 0x07777777
  1757.      16,  // U+00A4C8 - U+00A4CF : 0x00000000
  1758.      16,  // U+00A4D0 - U+00A4D7 : 0x00000000
  1759.      16,  // U+00A4D8 - U+00A4DF : 0x00000000
  1760.      16,  // U+00A4E0 - U+00A4E7 : 0x00000000
  1761.      16,  // U+00A4E8 - U+00A4EF : 0x00000000
  1762.      16,  // U+00A4F0 - U+00A4F7 : 0x00000000
  1763.      16,  // U+00A4F8 - U+00A4FF : 0x00000000
  1764. };
  1765.  
  1766. static const PRUint8 gGenCatIdx6[38] = {
  1767.      19,  // U+00A700 - U+00A707 : 0x77777777
  1768.      19,  // U+00A708 - U+00A70F : 0x77777777
  1769.     204,  // U+00A710 - U+00A717 : 0x07777777
  1770.      16,  // U+00A718 - U+00A71F : 0x00000000
  1771.      16,  // U+00A720 - U+00A727 : 0x00000000
  1772.      16,  // U+00A728 - U+00A72F : 0x00000000
  1773.      16,  // U+00A730 - U+00A737 : 0x00000000
  1774.      16,  // U+00A738 - U+00A73F : 0x00000000
  1775.      16,  // U+00A740 - U+00A747 : 0x00000000
  1776.      16,  // U+00A748 - U+00A74F : 0x00000000
  1777.      16,  // U+00A750 - U+00A757 : 0x00000000
  1778.      16,  // U+00A758 - U+00A75F : 0x00000000
  1779.      16,  // U+00A760 - U+00A767 : 0x00000000
  1780.      16,  // U+00A768 - U+00A76F : 0x00000000
  1781.      16,  // U+00A770 - U+00A777 : 0x00000000
  1782.      16,  // U+00A778 - U+00A77F : 0x00000000
  1783.      16,  // U+00A780 - U+00A787 : 0x00000000
  1784.      16,  // U+00A788 - U+00A78F : 0x00000000
  1785.      16,  // U+00A790 - U+00A797 : 0x00000000
  1786.      16,  // U+00A798 - U+00A79F : 0x00000000
  1787.      16,  // U+00A7A0 - U+00A7A7 : 0x00000000
  1788.      16,  // U+00A7A8 - U+00A7AF : 0x00000000
  1789.      16,  // U+00A7B0 - U+00A7B7 : 0x00000000
  1790.      16,  // U+00A7B8 - U+00A7BF : 0x00000000
  1791.      16,  // U+00A7C0 - U+00A7C7 : 0x00000000
  1792.      16,  // U+00A7C8 - U+00A7CF : 0x00000000
  1793.      16,  // U+00A7D0 - U+00A7D7 : 0x00000000
  1794.      16,  // U+00A7D8 - U+00A7DF : 0x00000000
  1795.      16,  // U+00A7E0 - U+00A7E7 : 0x00000000
  1796.      16,  // U+00A7E8 - U+00A7EF : 0x00000000
  1797.      16,  // U+00A7F0 - U+00A7F7 : 0x00000000
  1798.      16,  // U+00A7F8 - U+00A7FF : 0x00000000
  1799.     237,  // U+00A800 - U+00A807 : 0x51555155
  1800.     238,  // U+00A808 - U+00A80F : 0x55551555
  1801.       6,  // U+00A810 - U+00A817 : 0x55555555
  1802.       6,  // U+00A818 - U+00A81F : 0x55555555
  1803.      44,  // U+00A820 - U+00A827 : 0x11111555
  1804.     203,  // U+00A828 - U+00A82F : 0x00007777
  1805. };
  1806.  
  1807. static const PRUint8 gGenCatIdx7[160] = {
  1808.      28,  // U+00FB00 - U+00FB07 : 0x05555555
  1809.      16,  // U+00FB08 - U+00FB0F : 0x00000000
  1810.     239,  // U+00FB10 - U+00FB17 : 0x55555000
  1811.     240,  // U+00FB18 - U+00FB1F : 0x51500000
  1812.       6,  // U+00FB20 - U+00FB27 : 0x55555555
  1813.     241,  // U+00FB28 - U+00FB2F : 0x55555575
  1814.      28,  // U+00FB30 - U+00FB37 : 0x05555555
  1815.     129,  // U+00FB38 - U+00FB3F : 0x05055555
  1816.     242,  // U+00FB40 - U+00FB47 : 0x55055055
  1817.       6,  // U+00FB48 - U+00FB4F : 0x55555555
  1818.       6,  // U+00FB50 - U+00FB57 : 0x55555555
  1819.       6,  // U+00FB58 - U+00FB5F : 0x55555555
  1820.       6,  // U+00FB60 - U+00FB67 : 0x55555555
  1821.       6,  // U+00FB68 - U+00FB6F : 0x55555555
  1822.       6,  // U+00FB70 - U+00FB77 : 0x55555555
  1823.       6,  // U+00FB78 - U+00FB7F : 0x55555555
  1824.       6,  // U+00FB80 - U+00FB87 : 0x55555555
  1825.       6,  // U+00FB88 - U+00FB8F : 0x55555555
  1826.       6,  // U+00FB90 - U+00FB97 : 0x55555555
  1827.       6,  // U+00FB98 - U+00FB9F : 0x55555555
  1828.       6,  // U+00FBA0 - U+00FBA7 : 0x55555555
  1829.       6,  // U+00FBA8 - U+00FBAF : 0x55555555
  1830.      15,  // U+00FBB0 - U+00FBB7 : 0x00000055
  1831.      16,  // U+00FBB8 - U+00FBBF : 0x00000000
  1832.      16,  // U+00FBC0 - U+00FBC7 : 0x00000000
  1833.      16,  // U+00FBC8 - U+00FBCF : 0x00000000
  1834.     239,  // U+00FBD0 - U+00FBD7 : 0x55555000
  1835.       6,  // U+00FBD8 - U+00FBDF : 0x55555555
  1836.       6,  // U+00FBE0 - U+00FBE7 : 0x55555555
  1837.       6,  // U+00FBE8 - U+00FBEF : 0x55555555
  1838.       6,  // U+00FBF0 - U+00FBF7 : 0x55555555
  1839.       6,  // U+00FBF8 - U+00FBFF : 0x55555555
  1840.       6,  // U+00FC00 - U+00FC07 : 0x55555555
  1841.       6,  // U+00FC08 - U+00FC0F : 0x55555555
  1842.       6,  // U+00FC10 - U+00FC17 : 0x55555555
  1843.       6,  // U+00FC18 - U+00FC1F : 0x55555555
  1844.       6,  // U+00FC20 - U+00FC27 : 0x55555555
  1845.       6,  // U+00FC28 - U+00FC2F : 0x55555555
  1846.       6,  // U+00FC30 - U+00FC37 : 0x55555555
  1847.       6,  // U+00FC38 - U+00FC3F : 0x55555555
  1848.       6,  // U+00FC40 - U+00FC47 : 0x55555555
  1849.       6,  // U+00FC48 - U+00FC4F : 0x55555555
  1850.       6,  // U+00FC50 - U+00FC57 : 0x55555555
  1851.       6,  // U+00FC58 - U+00FC5F : 0x55555555
  1852.       6,  // U+00FC60 - U+00FC67 : 0x55555555
  1853.       6,  // U+00FC68 - U+00FC6F : 0x55555555
  1854.       6,  // U+00FC70 - U+00FC77 : 0x55555555
  1855.       6,  // U+00FC78 - U+00FC7F : 0x55555555
  1856.       6,  // U+00FC80 - U+00FC87 : 0x55555555
  1857.       6,  // U+00FC88 - U+00FC8F : 0x55555555
  1858.       6,  // U+00FC90 - U+00FC97 : 0x55555555
  1859.       6,  // U+00FC98 - U+00FC9F : 0x55555555
  1860.       6,  // U+00FCA0 - U+00FCA7 : 0x55555555
  1861.       6,  // U+00FCA8 - U+00FCAF : 0x55555555
  1862.       6,  // U+00FCB0 - U+00FCB7 : 0x55555555
  1863.       6,  // U+00FCB8 - U+00FCBF : 0x55555555
  1864.       6,  // U+00FCC0 - U+00FCC7 : 0x55555555
  1865.       6,  // U+00FCC8 - U+00FCCF : 0x55555555
  1866.       6,  // U+00FCD0 - U+00FCD7 : 0x55555555
  1867.       6,  // U+00FCD8 - U+00FCDF : 0x55555555
  1868.       6,  // U+00FCE0 - U+00FCE7 : 0x55555555
  1869.       6,  // U+00FCE8 - U+00FCEF : 0x55555555
  1870.       6,  // U+00FCF0 - U+00FCF7 : 0x55555555
  1871.       6,  // U+00FCF8 - U+00FCFF : 0x55555555
  1872.       6,  // U+00FD00 - U+00FD07 : 0x55555555
  1873.       6,  // U+00FD08 - U+00FD0F : 0x55555555
  1874.       6,  // U+00FD10 - U+00FD17 : 0x55555555
  1875.       6,  // U+00FD18 - U+00FD1F : 0x55555555
  1876.       6,  // U+00FD20 - U+00FD27 : 0x55555555
  1877.       6,  // U+00FD28 - U+00FD2F : 0x55555555
  1878.       6,  // U+00FD30 - U+00FD37 : 0x55555555
  1879.     243,  // U+00FD38 - U+00FD3F : 0x66555555
  1880.      16,  // U+00FD40 - U+00FD47 : 0x00000000
  1881.      16,  // U+00FD48 - U+00FD4F : 0x00000000
  1882.       6,  // U+00FD50 - U+00FD57 : 0x55555555
  1883.       6,  // U+00FD58 - U+00FD5F : 0x55555555
  1884.       6,  // U+00FD60 - U+00FD67 : 0x55555555
  1885.       6,  // U+00FD68 - U+00FD6F : 0x55555555
  1886.       6,  // U+00FD70 - U+00FD77 : 0x55555555
  1887.       6,  // U+00FD78 - U+00FD7F : 0x55555555
  1888.       6,  // U+00FD80 - U+00FD87 : 0x55555555
  1889.       6,  // U+00FD88 - U+00FD8F : 0x55555555
  1890.     113,  // U+00FD90 - U+00FD97 : 0x55555500
  1891.       6,  // U+00FD98 - U+00FD9F : 0x55555555
  1892.       6,  // U+00FDA0 - U+00FDA7 : 0x55555555
  1893.       6,  // U+00FDA8 - U+00FDAF : 0x55555555
  1894.       6,  // U+00FDB0 - U+00FDB7 : 0x55555555
  1895.       6,  // U+00FDB8 - U+00FDBF : 0x55555555
  1896.       6,  // U+00FDC0 - U+00FDC7 : 0x55555555
  1897.      16,  // U+00FDC8 - U+00FDCF : 0x00000000
  1898.      16,  // U+00FDD0 - U+00FDD7 : 0x00000000
  1899.      16,  // U+00FDD8 - U+00FDDF : 0x00000000
  1900.      16,  // U+00FDE0 - U+00FDE7 : 0x00000000
  1901.      16,  // U+00FDE8 - U+00FDEF : 0x00000000
  1902.       6,  // U+00FDF0 - U+00FDF7 : 0x55555555
  1903.     244,  // U+00FDF8 - U+00FDFF : 0x00775555
  1904.      22,  // U+00FE00 - U+00FE07 : 0x11111111
  1905.      22,  // U+00FE08 - U+00FE0F : 0x11111111
  1906.      53,  // U+00FE10 - U+00FE17 : 0x66666666
  1907.     141,  // U+00FE18 - U+00FE1F : 0x00000066
  1908.     167,  // U+00FE20 - U+00FE27 : 0x00001111
  1909.      16,  // U+00FE28 - U+00FE2F : 0x00000000
  1910.      53,  // U+00FE30 - U+00FE37 : 0x66666666
  1911.      53,  // U+00FE38 - U+00FE3F : 0x66666666
  1912.      53,  // U+00FE40 - U+00FE47 : 0x66666666
  1913.      53,  // U+00FE48 - U+00FE4F : 0x66666666
  1914.     245,  // U+00FE50 - U+00FE57 : 0x66660666
  1915.      53,  // U+00FE58 - U+00FE5F : 0x66666666
  1916.     246,  // U+00FE60 - U+00FE67 : 0x07776766
  1917.     247,  // U+00FE68 - U+00FE6F : 0x00006676
  1918.     106,  // U+00FE70 - U+00FE77 : 0x55055555
  1919.       6,  // U+00FE78 - U+00FE7F : 0x55555555
  1920.       6,  // U+00FE80 - U+00FE87 : 0x55555555
  1921.       6,  // U+00FE88 - U+00FE8F : 0x55555555
  1922.       6,  // U+00FE90 - U+00FE97 : 0x55555555
  1923.       6,  // U+00FE98 - U+00FE9F : 0x55555555
  1924.       6,  // U+00FEA0 - U+00FEA7 : 0x55555555
  1925.       6,  // U+00FEA8 - U+00FEAF : 0x55555555
  1926.       6,  // U+00FEB0 - U+00FEB7 : 0x55555555
  1927.       6,  // U+00FEB8 - U+00FEBF : 0x55555555
  1928.       6,  // U+00FEC0 - U+00FEC7 : 0x55555555
  1929.       6,  // U+00FEC8 - U+00FECF : 0x55555555
  1930.       6,  // U+00FED0 - U+00FED7 : 0x55555555
  1931.       6,  // U+00FED8 - U+00FEDF : 0x55555555
  1932.       6,  // U+00FEE0 - U+00FEE7 : 0x55555555
  1933.       6,  // U+00FEE8 - U+00FEEF : 0x55555555
  1934.       6,  // U+00FEF0 - U+00FEF7 : 0x55555555
  1935.     248,  // U+00FEF8 - U+00FEFF : 0x40055555
  1936.     249,  // U+00FF00 - U+00FF07 : 0x66676660
  1937.       2,  // U+00FF08 - U+00FF0F : 0x66667666
  1938.       3,  // U+00FF10 - U+00FF17 : 0x22222222
  1939.       4,  // U+00FF18 - U+00FF1F : 0x67776622
  1940.       5,  // U+00FF20 - U+00FF27 : 0x55555556
  1941.       6,  // U+00FF28 - U+00FF2F : 0x55555555
  1942.       6,  // U+00FF30 - U+00FF37 : 0x55555555
  1943.       7,  // U+00FF38 - U+00FF3F : 0x67666555
  1944.       8,  // U+00FF40 - U+00FF47 : 0x55555557
  1945.       6,  // U+00FF48 - U+00FF4F : 0x55555555
  1946.       6,  // U+00FF50 - U+00FF57 : 0x55555555
  1947.     250,  // U+00FF58 - U+00FF5F : 0x67676555
  1948.     251,  // U+00FF60 - U+00FF67 : 0x55666666
  1949.       6,  // U+00FF68 - U+00FF6F : 0x55555555
  1950.       6,  // U+00FF70 - U+00FF77 : 0x55555555
  1951.       6,  // U+00FF78 - U+00FF7F : 0x55555555
  1952.       6,  // U+00FF80 - U+00FF87 : 0x55555555
  1953.       6,  // U+00FF88 - U+00FF8F : 0x55555555
  1954.       6,  // U+00FF90 - U+00FF97 : 0x55555555
  1955.       6,  // U+00FF98 - U+00FF9F : 0x55555555
  1956.       6,  // U+00FFA0 - U+00FFA7 : 0x55555555
  1957.       6,  // U+00FFA8 - U+00FFAF : 0x55555555
  1958.       6,  // U+00FFB0 - U+00FFB7 : 0x55555555
  1959.      28,  // U+00FFB8 - U+00FFBF : 0x05555555
  1960.     113,  // U+00FFC0 - U+00FFC7 : 0x55555500
  1961.     113,  // U+00FFC8 - U+00FFCF : 0x55555500
  1962.     113,  // U+00FFD0 - U+00FFD7 : 0x55555500
  1963.     252,  // U+00FFD8 - U+00FFDF : 0x00055500
  1964.     204,  // U+00FFE0 - U+00FFE7 : 0x07777777
  1965.     204,  // U+00FFE8 - U+00FFEF : 0x07777777
  1966.      16,  // U+00FFF0 - U+00FFF7 : 0x00000000
  1967.     253,  // U+00FFF8 - U+00FFFF : 0x00774440
  1968. };
  1969.  
  1970. static const PRUint8 gGenCatIdx8[150] = {
  1971.       0,  // U+010000 - U+010007 : 0x55555555
  1972.       1,  // U+010008 - U+01000F : 0x55505555
  1973.       0,  // U+010010 - U+010017 : 0x55555555
  1974.       0,  // U+010018 - U+01001F : 0x55555555
  1975.       2,  // U+010020 - U+010027 : 0x05555555
  1976.       0,  // U+010028 - U+01002F : 0x55555555
  1977.       0,  // U+010030 - U+010037 : 0x55555555
  1978.       3,  // U+010038 - U+01003F : 0x50550555
  1979.       0,  // U+010040 - U+010047 : 0x55555555
  1980.       4,  // U+010048 - U+01004F : 0x00555555
  1981.       0,  // U+010050 - U+010057 : 0x55555555
  1982.       4,  // U+010058 - U+01005F : 0x00555555
  1983.       5,  // U+010060 - U+010067 : 0x00000000
  1984.       5,  // U+010068 - U+01006F : 0x00000000
  1985.       5,  // U+010070 - U+010077 : 0x00000000
  1986.       5,  // U+010078 - U+01007F : 0x00000000
  1987.       0,  // U+010080 - U+010087 : 0x55555555
  1988.       0,  // U+010088 - U+01008F : 0x55555555
  1989.       0,  // U+010090 - U+010097 : 0x55555555
  1990.       0,  // U+010098 - U+01009F : 0x55555555
  1991.       0,  // U+0100A0 - U+0100A7 : 0x55555555
  1992.       0,  // U+0100A8 - U+0100AF : 0x55555555
  1993.       0,  // U+0100B0 - U+0100B7 : 0x55555555
  1994.       0,  // U+0100B8 - U+0100BF : 0x55555555
  1995.       0,  // U+0100C0 - U+0100C7 : 0x55555555
  1996.       0,  // U+0100C8 - U+0100CF : 0x55555555
  1997.       0,  // U+0100D0 - U+0100D7 : 0x55555555
  1998.       0,  // U+0100D8 - U+0100DF : 0x55555555
  1999.       0,  // U+0100E0 - U+0100E7 : 0x55555555
  2000.       0,  // U+0100E8 - U+0100EF : 0x55555555
  2001.       0,  // U+0100F0 - U+0100F7 : 0x55555555
  2002.       6,  // U+0100F8 - U+0100FF : 0x00000555
  2003.       7,  // U+010100 - U+010107 : 0x20000766
  2004.       8,  // U+010108 - U+01010F : 0x22222222
  2005.       8,  // U+010110 - U+010117 : 0x22222222
  2006.       8,  // U+010118 - U+01011F : 0x22222222
  2007.       8,  // U+010120 - U+010127 : 0x22222222
  2008.       8,  // U+010128 - U+01012F : 0x22222222
  2009.       9,  // U+010130 - U+010137 : 0x70002222
  2010.      10,  // U+010138 - U+01013F : 0x77777777
  2011.       8,  // U+010140 - U+010147 : 0x22222222
  2012.       8,  // U+010148 - U+01014F : 0x22222222
  2013.       8,  // U+010150 - U+010157 : 0x22222222
  2014.       8,  // U+010158 - U+01015F : 0x22222222
  2015.       8,  // U+010160 - U+010167 : 0x22222222
  2016.       8,  // U+010168 - U+01016F : 0x22222222
  2017.       8,  // U+010170 - U+010177 : 0x22222222
  2018.      11,  // U+010178 - U+01017F : 0x77777772
  2019.      10,  // U+010180 - U+010187 : 0x77777777
  2020.      12,  // U+010188 - U+01018F : 0x00000277
  2021.       5,  // U+010190 - U+010197 : 0x00000000
  2022.       5,  // U+010198 - U+01019F : 0x00000000
  2023.       5,  // U+0101A0 - U+0101A7 : 0x00000000
  2024.       5,  // U+0101A8 - U+0101AF : 0x00000000
  2025.       5,  // U+0101B0 - U+0101B7 : 0x00000000
  2026.       5,  // U+0101B8 - U+0101BF : 0x00000000
  2027.       5,  // U+0101C0 - U+0101C7 : 0x00000000
  2028.       5,  // U+0101C8 - U+0101CF : 0x00000000
  2029.       5,  // U+0101D0 - U+0101D7 : 0x00000000
  2030.       5,  // U+0101D8 - U+0101DF : 0x00000000
  2031.       5,  // U+0101E0 - U+0101E7 : 0x00000000
  2032.       5,  // U+0101E8 - U+0101EF : 0x00000000
  2033.       5,  // U+0101F0 - U+0101F7 : 0x00000000
  2034.       5,  // U+0101F8 - U+0101FF : 0x00000000
  2035.       5,  // U+010200 - U+010207 : 0x00000000
  2036.       5,  // U+010208 - U+01020F : 0x00000000
  2037.       5,  // U+010210 - U+010217 : 0x00000000
  2038.       5,  // U+010218 - U+01021F : 0x00000000
  2039.       5,  // U+010220 - U+010227 : 0x00000000
  2040.       5,  // U+010228 - U+01022F : 0x00000000
  2041.       5,  // U+010230 - U+010237 : 0x00000000
  2042.       5,  // U+010238 - U+01023F : 0x00000000
  2043.       5,  // U+010240 - U+010247 : 0x00000000
  2044.       5,  // U+010248 - U+01024F : 0x00000000
  2045.       5,  // U+010250 - U+010257 : 0x00000000
  2046.       5,  // U+010258 - U+01025F : 0x00000000
  2047.       5,  // U+010260 - U+010267 : 0x00000000
  2048.       5,  // U+010268 - U+01026F : 0x00000000
  2049.       5,  // U+010270 - U+010277 : 0x00000000
  2050.       5,  // U+010278 - U+01027F : 0x00000000
  2051.       5,  // U+010280 - U+010287 : 0x00000000
  2052.       5,  // U+010288 - U+01028F : 0x00000000
  2053.       5,  // U+010290 - U+010297 : 0x00000000
  2054.       5,  // U+010298 - U+01029F : 0x00000000
  2055.       5,  // U+0102A0 - U+0102A7 : 0x00000000
  2056.       5,  // U+0102A8 - U+0102AF : 0x00000000
  2057.       5,  // U+0102B0 - U+0102B7 : 0x00000000
  2058.       5,  // U+0102B8 - U+0102BF : 0x00000000
  2059.       5,  // U+0102C0 - U+0102C7 : 0x00000000
  2060.       5,  // U+0102C8 - U+0102CF : 0x00000000
  2061.       5,  // U+0102D0 - U+0102D7 : 0x00000000
  2062.       5,  // U+0102D8 - U+0102DF : 0x00000000
  2063.       5,  // U+0102E0 - U+0102E7 : 0x00000000
  2064.       5,  // U+0102E8 - U+0102EF : 0x00000000
  2065.       5,  // U+0102F0 - U+0102F7 : 0x00000000
  2066.       5,  // U+0102F8 - U+0102FF : 0x00000000
  2067.       0,  // U+010300 - U+010307 : 0x55555555
  2068.       0,  // U+010308 - U+01030F : 0x55555555
  2069.       0,  // U+010310 - U+010317 : 0x55555555
  2070.       2,  // U+010318 - U+01031F : 0x05555555
  2071.      13,  // U+010320 - U+010327 : 0x00002222
  2072.       5,  // U+010328 - U+01032F : 0x00000000
  2073.       0,  // U+010330 - U+010337 : 0x55555555
  2074.       0,  // U+010338 - U+01033F : 0x55555555
  2075.       0,  // U+010340 - U+010347 : 0x55555555
  2076.      14,  // U+010348 - U+01034F : 0x00000255
  2077.       5,  // U+010350 - U+010357 : 0x00000000
  2078.       5,  // U+010358 - U+01035F : 0x00000000
  2079.       5,  // U+010360 - U+010367 : 0x00000000
  2080.       5,  // U+010368 - U+01036F : 0x00000000
  2081.       5,  // U+010370 - U+010377 : 0x00000000
  2082.       5,  // U+010378 - U+01037F : 0x00000000
  2083.       0,  // U+010380 - U+010387 : 0x55555555
  2084.       0,  // U+010388 - U+01038F : 0x55555555
  2085.       0,  // U+010390 - U+010397 : 0x55555555
  2086.      15,  // U+010398 - U+01039F : 0x60555555
  2087.       0,  // U+0103A0 - U+0103A7 : 0x55555555
  2088.       0,  // U+0103A8 - U+0103AF : 0x55555555
  2089.       0,  // U+0103B0 - U+0103B7 : 0x55555555
  2090.       0,  // U+0103B8 - U+0103BF : 0x55555555
  2091.      16,  // U+0103C0 - U+0103C7 : 0x00005555
  2092.       0,  // U+0103C8 - U+0103CF : 0x55555555
  2093.      17,  // U+0103D0 - U+0103D7 : 0x00222227
  2094.       5,  // U+0103D8 - U+0103DF : 0x00000000
  2095.       5,  // U+0103E0 - U+0103E7 : 0x00000000
  2096.       5,  // U+0103E8 - U+0103EF : 0x00000000
  2097.       5,  // U+0103F0 - U+0103F7 : 0x00000000
  2098.       5,  // U+0103F8 - U+0103FF : 0x00000000
  2099.       0,  // U+010400 - U+010407 : 0x55555555
  2100.       0,  // U+010408 - U+01040F : 0x55555555
  2101.       0,  // U+010410 - U+010417 : 0x55555555
  2102.       0,  // U+010418 - U+01041F : 0x55555555
  2103.       0,  // U+010420 - U+010427 : 0x55555555
  2104.       0,  // U+010428 - U+01042F : 0x55555555
  2105.       0,  // U+010430 - U+010437 : 0x55555555
  2106.       0,  // U+010438 - U+01043F : 0x55555555
  2107.       0,  // U+010440 - U+010447 : 0x55555555
  2108.       0,  // U+010448 - U+01044F : 0x55555555
  2109.       0,  // U+010450 - U+010457 : 0x55555555
  2110.       0,  // U+010458 - U+01045F : 0x55555555
  2111.       0,  // U+010460 - U+010467 : 0x55555555
  2112.       0,  // U+010468 - U+01046F : 0x55555555
  2113.       0,  // U+010470 - U+010477 : 0x55555555
  2114.       0,  // U+010478 - U+01047F : 0x55555555
  2115.       0,  // U+010480 - U+010487 : 0x55555555
  2116.       0,  // U+010488 - U+01048F : 0x55555555
  2117.       0,  // U+010490 - U+010497 : 0x55555555
  2118.       4,  // U+010498 - U+01049F : 0x00555555
  2119.       8,  // U+0104A0 - U+0104A7 : 0x22222222
  2120.      18,  // U+0104A8 - U+0104AF : 0x00000022
  2121. };
  2122.  
  2123. static const PRUint8 gGenCatIdx9[8] = {
  2124.       4,  // U+010800 - U+010807 : 0x00555555
  2125.      19,  // U+010808 - U+01080F : 0x55555505
  2126.       0,  // U+010810 - U+010817 : 0x55555555
  2127.       0,  // U+010818 - U+01081F : 0x55555555
  2128.       0,  // U+010820 - U+010827 : 0x55555555
  2129.       0,  // U+010828 - U+01082F : 0x55555555
  2130.      20,  // U+010830 - U+010837 : 0x50555555
  2131.      21,  // U+010838 - U+01083F : 0x50050005
  2132. };
  2133.  
  2134. static const PRUint8 gGenCatIdx10[12] = {
  2135.      22,  // U+010A00 - U+010A07 : 0x01101115
  2136.      23,  // U+010A08 - U+010A0F : 0x11110000
  2137.       1,  // U+010A10 - U+010A17 : 0x55505555
  2138.      24,  // U+010A18 - U+010A1F : 0x55555550
  2139.       0,  // U+010A20 - U+010A27 : 0x55555555
  2140.       0,  // U+010A28 - U+010A2F : 0x55555555
  2141.      16,  // U+010A30 - U+010A37 : 0x00005555
  2142.      25,  // U+010A38 - U+010A3F : 0x10000111
  2143.       8,  // U+010A40 - U+010A47 : 0x22222222
  2144.       5,  // U+010A48 - U+010A4F : 0x00000000
  2145.      26,  // U+010A50 - U+010A57 : 0x66666666
  2146.      27,  // U+010A58 - U+010A5F : 0x00000006
  2147. };
  2148.  
  2149. static const PRUint8 gGenCatIdx11[256] = {
  2150.      10,  // U+01D000 - U+01D007 : 0x77777777
  2151.      10,  // U+01D008 - U+01D00F : 0x77777777
  2152.      10,  // U+01D010 - U+01D017 : 0x77777777
  2153.      10,  // U+01D018 - U+01D01F : 0x77777777
  2154.      10,  // U+01D020 - U+01D027 : 0x77777777
  2155.      10,  // U+01D028 - U+01D02F : 0x77777777
  2156.      10,  // U+01D030 - U+01D037 : 0x77777777
  2157.      10,  // U+01D038 - U+01D03F : 0x77777777
  2158.      10,  // U+01D040 - U+01D047 : 0x77777777
  2159.      10,  // U+01D048 - U+01D04F : 0x77777777
  2160.      10,  // U+01D050 - U+01D057 : 0x77777777
  2161.      10,  // U+01D058 - U+01D05F : 0x77777777
  2162.      10,  // U+01D060 - U+01D067 : 0x77777777
  2163.      10,  // U+01D068 - U+01D06F : 0x77777777
  2164.      10,  // U+01D070 - U+01D077 : 0x77777777
  2165.      10,  // U+01D078 - U+01D07F : 0x77777777
  2166.      10,  // U+01D080 - U+01D087 : 0x77777777
  2167.      10,  // U+01D088 - U+01D08F : 0x77777777
  2168.      10,  // U+01D090 - U+01D097 : 0x77777777
  2169.      10,  // U+01D098 - U+01D09F : 0x77777777
  2170.      10,  // U+01D0A0 - U+01D0A7 : 0x77777777
  2171.      10,  // U+01D0A8 - U+01D0AF : 0x77777777
  2172.      10,  // U+01D0B0 - U+01D0B7 : 0x77777777
  2173.      10,  // U+01D0B8 - U+01D0BF : 0x77777777
  2174.      10,  // U+01D0C0 - U+01D0C7 : 0x77777777
  2175.      10,  // U+01D0C8 - U+01D0CF : 0x77777777
  2176.      10,  // U+01D0D0 - U+01D0D7 : 0x77777777
  2177.      10,  // U+01D0D8 - U+01D0DF : 0x77777777
  2178.      10,  // U+01D0E0 - U+01D0E7 : 0x77777777
  2179.      10,  // U+01D0E8 - U+01D0EF : 0x77777777
  2180.      28,  // U+01D0F0 - U+01D0F7 : 0x00777777
  2181.       5,  // U+01D0F8 - U+01D0FF : 0x00000000
  2182.      10,  // U+01D100 - U+01D107 : 0x77777777
  2183.      10,  // U+01D108 - U+01D10F : 0x77777777
  2184.      10,  // U+01D110 - U+01D117 : 0x77777777
  2185.      10,  // U+01D118 - U+01D11F : 0x77777777
  2186.      29,  // U+01D120 - U+01D127 : 0x07777777
  2187.      30,  // U+01D128 - U+01D12F : 0x77777700
  2188.      10,  // U+01D130 - U+01D137 : 0x77777777
  2189.      10,  // U+01D138 - U+01D13F : 0x77777777
  2190.      10,  // U+01D140 - U+01D147 : 0x77777777
  2191.      10,  // U+01D148 - U+01D14F : 0x77777777
  2192.      10,  // U+01D150 - U+01D157 : 0x77777777
  2193.      10,  // U+01D158 - U+01D15F : 0x77777777
  2194.      31,  // U+01D160 - U+01D167 : 0x11177777
  2195.      32,  // U+01D168 - U+01D16F : 0x11177711
  2196.      33,  // U+01D170 - U+01D177 : 0x44444111
  2197.      34,  // U+01D178 - U+01D17F : 0x11111444
  2198.      35,  // U+01D180 - U+01D187 : 0x11177111
  2199.      36,  // U+01D188 - U+01D18F : 0x77771111
  2200.      10,  // U+01D190 - U+01D197 : 0x77777777
  2201.      10,  // U+01D198 - U+01D19F : 0x77777777
  2202.      10,  // U+01D1A0 - U+01D1A7 : 0x77777777
  2203.      37,  // U+01D1A8 - U+01D1AF : 0x77111177
  2204.      10,  // U+01D1B0 - U+01D1B7 : 0x77777777
  2205.      10,  // U+01D1B8 - U+01D1BF : 0x77777777
  2206.      10,  // U+01D1C0 - U+01D1C7 : 0x77777777
  2207.      10,  // U+01D1C8 - U+01D1CF : 0x77777777
  2208.      10,  // U+01D1D0 - U+01D1D7 : 0x77777777
  2209.      28,  // U+01D1D8 - U+01D1DF : 0x00777777
  2210.       5,  // U+01D1E0 - U+01D1E7 : 0x00000000
  2211.       5,  // U+01D1E8 - U+01D1EF : 0x00000000
  2212.       5,  // U+01D1F0 - U+01D1F7 : 0x00000000
  2213.       5,  // U+01D1F8 - U+01D1FF : 0x00000000
  2214.      10,  // U+01D200 - U+01D207 : 0x77777777
  2215.      10,  // U+01D208 - U+01D20F : 0x77777777
  2216.      10,  // U+01D210 - U+01D217 : 0x77777777
  2217.      10,  // U+01D218 - U+01D21F : 0x77777777
  2218.      10,  // U+01D220 - U+01D227 : 0x77777777
  2219.      10,  // U+01D228 - U+01D22F : 0x77777777
  2220.      10,  // U+01D230 - U+01D237 : 0x77777777
  2221.      10,  // U+01D238 - U+01D23F : 0x77777777
  2222.      38,  // U+01D240 - U+01D247 : 0x00711177
  2223.       5,  // U+01D248 - U+01D24F : 0x00000000
  2224.       5,  // U+01D250 - U+01D257 : 0x00000000
  2225.       5,  // U+01D258 - U+01D25F : 0x00000000
  2226.       5,  // U+01D260 - U+01D267 : 0x00000000
  2227.       5,  // U+01D268 - U+01D26F : 0x00000000
  2228.       5,  // U+01D270 - U+01D277 : 0x00000000
  2229.       5,  // U+01D278 - U+01D27F : 0x00000000
  2230.       5,  // U+01D280 - U+01D287 : 0x00000000
  2231.       5,  // U+01D288 - U+01D28F : 0x00000000
  2232.       5,  // U+01D290 - U+01D297 : 0x00000000
  2233.       5,  // U+01D298 - U+01D29F : 0x00000000
  2234.       5,  // U+01D2A0 - U+01D2A7 : 0x00000000
  2235.       5,  // U+01D2A8 - U+01D2AF : 0x00000000
  2236.       5,  // U+01D2B0 - U+01D2B7 : 0x00000000
  2237.       5,  // U+01D2B8 - U+01D2BF : 0x00000000
  2238.       5,  // U+01D2C0 - U+01D2C7 : 0x00000000
  2239.       5,  // U+01D2C8 - U+01D2CF : 0x00000000
  2240.       5,  // U+01D2D0 - U+01D2D7 : 0x00000000
  2241.       5,  // U+01D2D8 - U+01D2DF : 0x00000000
  2242.       5,  // U+01D2E0 - U+01D2E7 : 0x00000000
  2243.       5,  // U+01D2E8 - U+01D2EF : 0x00000000
  2244.       5,  // U+01D2F0 - U+01D2F7 : 0x00000000
  2245.       5,  // U+01D2F8 - U+01D2FF : 0x00000000
  2246.      10,  // U+01D300 - U+01D307 : 0x77777777
  2247.      10,  // U+01D308 - U+01D30F : 0x77777777
  2248.      10,  // U+01D310 - U+01D317 : 0x77777777
  2249.      10,  // U+01D318 - U+01D31F : 0x77777777
  2250.      10,  // U+01D320 - U+01D327 : 0x77777777
  2251.      10,  // U+01D328 - U+01D32F : 0x77777777
  2252.      10,  // U+01D330 - U+01D337 : 0x77777777
  2253.      10,  // U+01D338 - U+01D33F : 0x77777777
  2254.      10,  // U+01D340 - U+01D347 : 0x77777777
  2255.      10,  // U+01D348 - U+01D34F : 0x77777777
  2256.      29,  // U+01D350 - U+01D357 : 0x07777777
  2257.       5,  // U+01D358 - U+01D35F : 0x00000000
  2258.       5,  // U+01D360 - U+01D367 : 0x00000000
  2259.       5,  // U+01D368 - U+01D36F : 0x00000000
  2260.       5,  // U+01D370 - U+01D377 : 0x00000000
  2261.       5,  // U+01D378 - U+01D37F : 0x00000000
  2262.       5,  // U+01D380 - U+01D387 : 0x00000000
  2263.       5,  // U+01D388 - U+01D38F : 0x00000000
  2264.       5,  // U+01D390 - U+01D397 : 0x00000000
  2265.       5,  // U+01D398 - U+01D39F : 0x00000000
  2266.       5,  // U+01D3A0 - U+01D3A7 : 0x00000000
  2267.       5,  // U+01D3A8 - U+01D3AF : 0x00000000
  2268.       5,  // U+01D3B0 - U+01D3B7 : 0x00000000
  2269.       5,  // U+01D3B8 - U+01D3BF : 0x00000000
  2270.       5,  // U+01D3C0 - U+01D3C7 : 0x00000000
  2271.       5,  // U+01D3C8 - U+01D3CF : 0x00000000
  2272.       5,  // U+01D3D0 - U+01D3D7 : 0x00000000
  2273.       5,  // U+01D3D8 - U+01D3DF : 0x00000000
  2274.       5,  // U+01D3E0 - U+01D3E7 : 0x00000000
  2275.       5,  // U+01D3E8 - U+01D3EF : 0x00000000
  2276.       5,  // U+01D3F0 - U+01D3F7 : 0x00000000
  2277.       5,  // U+01D3F8 - U+01D3FF : 0x00000000
  2278.       0,  // U+01D400 - U+01D407 : 0x55555555
  2279.       0,  // U+01D408 - U+01D40F : 0x55555555
  2280.       0,  // U+01D410 - U+01D417 : 0x55555555
  2281.       0,  // U+01D418 - U+01D41F : 0x55555555
  2282.       0,  // U+01D420 - U+01D427 : 0x55555555
  2283.       0,  // U+01D428 - U+01D42F : 0x55555555
  2284.       0,  // U+01D430 - U+01D437 : 0x55555555
  2285.       0,  // U+01D438 - U+01D43F : 0x55555555
  2286.       0,  // U+01D440 - U+01D447 : 0x55555555
  2287.       0,  // U+01D448 - U+01D44F : 0x55555555
  2288.      39,  // U+01D450 - U+01D457 : 0x55055555
  2289.       0,  // U+01D458 - U+01D45F : 0x55555555
  2290.       0,  // U+01D460 - U+01D467 : 0x55555555
  2291.       0,  // U+01D468 - U+01D46F : 0x55555555
  2292.       0,  // U+01D470 - U+01D477 : 0x55555555
  2293.       0,  // U+01D478 - U+01D47F : 0x55555555
  2294.       0,  // U+01D480 - U+01D487 : 0x55555555
  2295.       0,  // U+01D488 - U+01D48F : 0x55555555
  2296.       0,  // U+01D490 - U+01D497 : 0x55555555
  2297.      39,  // U+01D498 - U+01D49F : 0x55055555
  2298.      40,  // U+01D4A0 - U+01D4A7 : 0x05500500
  2299.      41,  // U+01D4A8 - U+01D4AF : 0x55055550
  2300.       0,  // U+01D4B0 - U+01D4B7 : 0x55555555
  2301.      42,  // U+01D4B8 - U+01D4BF : 0x55505055
  2302.       1,  // U+01D4C0 - U+01D4C7 : 0x55505555
  2303.       0,  // U+01D4C8 - U+01D4CF : 0x55555555
  2304.       0,  // U+01D4D0 - U+01D4D7 : 0x55555555
  2305.       0,  // U+01D4D8 - U+01D4DF : 0x55555555
  2306.       0,  // U+01D4E0 - U+01D4E7 : 0x55555555
  2307.       0,  // U+01D4E8 - U+01D4EF : 0x55555555
  2308.       0,  // U+01D4F0 - U+01D4F7 : 0x55555555
  2309.       0,  // U+01D4F8 - U+01D4FF : 0x55555555
  2310.      20,  // U+01D500 - U+01D507 : 0x50555555
  2311.      43,  // U+01D508 - U+01D50F : 0x55500555
  2312.      39,  // U+01D510 - U+01D517 : 0x55055555
  2313.      39,  // U+01D518 - U+01D51F : 0x55055555
  2314.       0,  // U+01D520 - U+01D527 : 0x55555555
  2315.       0,  // U+01D528 - U+01D52F : 0x55555555
  2316.       0,  // U+01D530 - U+01D537 : 0x55555555
  2317.      44,  // U+01D538 - U+01D53F : 0x05555055
  2318.      45,  // U+01D540 - U+01D547 : 0x05055555
  2319.      46,  // U+01D548 - U+01D54F : 0x55555500
  2320.      19,  // U+01D550 - U+01D557 : 0x55555505
  2321.       0,  // U+01D558 - U+01D55F : 0x55555555
  2322.       0,  // U+01D560 - U+01D567 : 0x55555555
  2323.       0,  // U+01D568 - U+01D56F : 0x55555555
  2324.       0,  // U+01D570 - U+01D577 : 0x55555555
  2325.       0,  // U+01D578 - U+01D57F : 0x55555555
  2326.       0,  // U+01D580 - U+01D587 : 0x55555555
  2327.       0,  // U+01D588 - U+01D58F : 0x55555555
  2328.       0,  // U+01D590 - U+01D597 : 0x55555555
  2329.       0,  // U+01D598 - U+01D59F : 0x55555555
  2330.       0,  // U+01D5A0 - U+01D5A7 : 0x55555555
  2331.       0,  // U+01D5A8 - U+01D5AF : 0x55555555
  2332.       0,  // U+01D5B0 - U+01D5B7 : 0x55555555
  2333.       0,  // U+01D5B8 - U+01D5BF : 0x55555555
  2334.       0,  // U+01D5C0 - U+01D5C7 : 0x55555555
  2335.       0,  // U+01D5C8 - U+01D5CF : 0x55555555
  2336.       0,  // U+01D5D0 - U+01D5D7 : 0x55555555
  2337.       0,  // U+01D5D8 - U+01D5DF : 0x55555555
  2338.       0,  // U+01D5E0 - U+01D5E7 : 0x55555555
  2339.       0,  // U+01D5E8 - U+01D5EF : 0x55555555
  2340.       0,  // U+01D5F0 - U+01D5F7 : 0x55555555
  2341.       0,  // U+01D5F8 - U+01D5FF : 0x55555555
  2342.       0,  // U+01D600 - U+01D607 : 0x55555555
  2343.       0,  // U+01D608 - U+01D60F : 0x55555555
  2344.       0,  // U+01D610 - U+01D617 : 0x55555555
  2345.       0,  // U+01D618 - U+01D61F : 0x55555555
  2346.       0,  // U+01D620 - U+01D627 : 0x55555555
  2347.       0,  // U+01D628 - U+01D62F : 0x55555555
  2348.       0,  // U+01D630 - U+01D637 : 0x55555555
  2349.       0,  // U+01D638 - U+01D63F : 0x55555555
  2350.       0,  // U+01D640 - U+01D647 : 0x55555555
  2351.       0,  // U+01D648 - U+01D64F : 0x55555555
  2352.       0,  // U+01D650 - U+01D657 : 0x55555555
  2353.       0,  // U+01D658 - U+01D65F : 0x55555555
  2354.       0,  // U+01D660 - U+01D667 : 0x55555555
  2355.       0,  // U+01D668 - U+01D66F : 0x55555555
  2356.       0,  // U+01D670 - U+01D677 : 0x55555555
  2357.       0,  // U+01D678 - U+01D67F : 0x55555555
  2358.       0,  // U+01D680 - U+01D687 : 0x55555555
  2359.       0,  // U+01D688 - U+01D68F : 0x55555555
  2360.       0,  // U+01D690 - U+01D697 : 0x55555555
  2361.       0,  // U+01D698 - U+01D69F : 0x55555555
  2362.       4,  // U+01D6A0 - U+01D6A7 : 0x00555555
  2363.       0,  // U+01D6A8 - U+01D6AF : 0x55555555
  2364.       0,  // U+01D6B0 - U+01D6B7 : 0x55555555
  2365.       0,  // U+01D6B8 - U+01D6BF : 0x55555555
  2366.      47,  // U+01D6C0 - U+01D6C7 : 0x55555575
  2367.       0,  // U+01D6C8 - U+01D6CF : 0x55555555
  2368.       0,  // U+01D6D0 - U+01D6D7 : 0x55555555
  2369.      48,  // U+01D6D8 - U+01D6DF : 0x55557555
  2370.       0,  // U+01D6E0 - U+01D6E7 : 0x55555555
  2371.       0,  // U+01D6E8 - U+01D6EF : 0x55555555
  2372.       0,  // U+01D6F0 - U+01D6F7 : 0x55555555
  2373.      48,  // U+01D6F8 - U+01D6FF : 0x55557555
  2374.       0,  // U+01D700 - U+01D707 : 0x55555555
  2375.       0,  // U+01D708 - U+01D70F : 0x55555555
  2376.      49,  // U+01D710 - U+01D717 : 0x55755555
  2377.       0,  // U+01D718 - U+01D71F : 0x55555555
  2378.       0,  // U+01D720 - U+01D727 : 0x55555555
  2379.       0,  // U+01D728 - U+01D72F : 0x55555555
  2380.      49,  // U+01D730 - U+01D737 : 0x55755555
  2381.       0,  // U+01D738 - U+01D73F : 0x55555555
  2382.       0,  // U+01D740 - U+01D747 : 0x55555555
  2383.      50,  // U+01D748 - U+01D74F : 0x75555555
  2384.       0,  // U+01D750 - U+01D757 : 0x55555555
  2385.       0,  // U+01D758 - U+01D75F : 0x55555555
  2386.       0,  // U+01D760 - U+01D767 : 0x55555555
  2387.      50,  // U+01D768 - U+01D76F : 0x75555555
  2388.       0,  // U+01D770 - U+01D777 : 0x55555555
  2389.       0,  // U+01D778 - U+01D77F : 0x55555555
  2390.       0,  // U+01D780 - U+01D787 : 0x55555555
  2391.      47,  // U+01D788 - U+01D78F : 0x55555575
  2392.       0,  // U+01D790 - U+01D797 : 0x55555555
  2393.       0,  // U+01D798 - U+01D79F : 0x55555555
  2394.       0,  // U+01D7A0 - U+01D7A7 : 0x55555555
  2395.      47,  // U+01D7A8 - U+01D7AF : 0x55555575
  2396.       0,  // U+01D7B0 - U+01D7B7 : 0x55555555
  2397.       0,  // U+01D7B8 - U+01D7BF : 0x55555555
  2398.      48,  // U+01D7C0 - U+01D7C7 : 0x55557555
  2399.      51,  // U+01D7C8 - U+01D7CF : 0x22000055
  2400.       8,  // U+01D7D0 - U+01D7D7 : 0x22222222
  2401.       8,  // U+01D7D8 - U+01D7DF : 0x22222222
  2402.       8,  // U+01D7E0 - U+01D7E7 : 0x22222222
  2403.       8,  // U+01D7E8 - U+01D7EF : 0x22222222
  2404.       8,  // U+01D7F0 - U+01D7F7 : 0x22222222
  2405.       8,  // U+01D7F8 - U+01D7FF : 0x22222222
  2406. };
  2407.  
  2408. static const PRUint32 gGenCatPatPl0[] = {
  2409.     0x44444444,  // 0 
  2410.     0x66676663,  // 1 
  2411.     0x66667666,  // 2 
  2412.     0x22222222,  // 3 
  2413.     0x67776622,  // 4 
  2414.     0x55555556,  // 5 
  2415.     0x55555555,  // 6 
  2416.     0x67666555,  // 7 
  2417.     0x55555557,  // 8 
  2418.     0x47676555,  // 9 
  2419.     0x77777763,  // 10 
  2420.     0x77476577,  // 11 
  2421.     0x67572277,  // 12 
  2422.     0x62226527,  // 13 
  2423.     0x75555555,  // 14 
  2424.     0x00000055,  // 15 
  2425.     0x00000000,  // 16 
  2426.     0x55777755,  // 17 
  2427.     0x77777755,  // 18 
  2428.     0x77777777,  // 19 
  2429.     0x77755555,  // 20 
  2430.     0x75777777,  // 21 
  2431.     0x11111111,  // 22 
  2432.     0x00770000,  // 23 
  2433.     0x06000500,  // 24 
  2434.     0x65770000,  // 25 
  2435.     0x55050555,  // 26 
  2436.     0x55555055,  // 27 
  2437.     0x05555555,  // 28 
  2438.     0x57555555,  // 29 
  2439.     0x01111755,  // 30 
  2440.     0x55555511,  // 31 
  2441.     0x55555550,  // 32 
  2442.     0x66666650,  // 33 
  2443.     0x00000660,  // 34 
  2444.     0x11111110,  // 35 
  2445.     0x16111011,  // 36 
  2446.     0x16116116,  // 37 
  2447.     0x00000555,  // 38 
  2448.     0x00066555,  // 39 
  2449.     0x00004444,  // 40 
  2450.     0x77667000,  // 41 
  2451.     0x00111111,  // 42 
  2452.     0x66006000,  // 43 
  2453.     0x11111555,  // 44 
  2454.     0x01111111,  // 45 
  2455.     0x55666622,  // 46 
  2456.     0x55555551,  // 47 
  2457.     0x11565555,  // 48 
  2458.     0x11411111,  // 49 
  2459.     0x15511111,  // 50 
  2460.     0x55111171,  // 51 
  2461.     0x57755522,  // 52 
  2462.     0x66666666,  // 53 
  2463.     0x40666666,  // 54 
  2464.     0x55555515,  // 55 
  2465.     0x55500111,  // 56 
  2466.     0x00555555,  // 57 
  2467.     0x11555555,  // 58 
  2468.     0x00000051,  // 59 
  2469.     0x55551110,  // 60 
  2470.     0x11510055,  // 61 
  2471.     0x00011115,  // 62 
  2472.     0x22661155,  // 63 
  2473.     0x00000006,  // 64 
  2474.     0x00500000,  // 65 
  2475.     0x55501110,  // 66 
  2476.     0x50055555,  // 67 
  2477.     0x55555005,  // 68 
  2478.     0x55555505,  // 69 
  2479.     0x55000505,  // 70 
  2480.     0x10011111,  // 71 
  2481.     0x05111001,  // 72 
  2482.     0x10000000,  // 73 
  2483.     0x50550000,  // 74 
  2484.     0x22001155,  // 75 
  2485.     0x22227755,  // 76 
  2486.     0x00000722,  // 77 
  2487.     0x50000555,  // 78 
  2488.     0x05505505,  // 79 
  2489.     0x11010055,  // 80 
  2490.     0x10000111,  // 81 
  2491.     0x00111001,  // 82 
  2492.     0x05055550,  // 83 
  2493.     0x22000000,  // 84 
  2494.     0x00055511,  // 85 
  2495.     0x50555555,  // 86 
  2496.     0x55505505,  // 87 
  2497.     0x10111111,  // 88 
  2498.     0x00111011,  // 89 
  2499.     0x00000005,  // 90 
  2500.     0x00000070,  // 91 
  2501.     0x10001111,  // 92 
  2502.     0x11000000,  // 93 
  2503.     0x22000055,  // 94 
  2504.     0x00000057,  // 95 
  2505.     0x55505100,  // 96 
  2506.     0x55000555,  // 97 
  2507.     0x00555505,  // 98 
  2508.     0x55050550,  // 99 
  2509.     0x00055000,  // 100 
  2510.     0x11000055,  // 101 
  2511.     0x11000111,  // 102 
  2512.     0x00111101,  // 103 
  2513.     0x77777222,  // 104 
  2514.     0x00000777,  // 105 
  2515.     0x55055555,  // 106 
  2516.     0x55505555,  // 107 
  2517.     0x11011111,  // 108 
  2518.     0x01100000,  // 109 
  2519.     0x55501100,  // 110 
  2520.     0x05000000,  // 111 
  2521.     0x11001111,  // 112 
  2522.     0x55555500,  // 113 
  2523.     0x00505555,  // 114 
  2524.     0x10000100,  // 115 
  2525.     0x01011111,  // 116 
  2526.     0x00061100,  // 117 
  2527.     0x11115515,  // 118 
  2528.     0x70000111,  // 119 
  2529.     0x15555555,  // 120 
  2530.     0x61111111,  // 121 
  2531.     0x00006622,  // 122 
  2532.     0x50050550,  // 123 
  2533.     0x00500505,  // 124 
  2534.     0x55550000,  // 125 
  2535.     0x50505550,  // 126 
  2536.     0x55505500,  // 127 
  2537.     0x00511011,  // 128 
  2538.     0x05055555,  // 129 
  2539.     0x00550022,  // 130 
  2540.     0x66667775,  // 131 
  2541.     0x77777666,  // 132 
  2542.     0x77777711,  // 133 
  2543.     0x17172222,  // 134 
  2544.     0x11666617,  // 135 
  2545.     0x11611111,  // 136 
  2546.     0x00005555,  // 137 
  2547.     0x77011111,  // 138 
  2548.     0x71777777,  // 139 
  2549.     0x70077777,  // 140 
  2550.     0x00000066,  // 141 
  2551.     0x11110550,  // 142 
  2552.     0x00000011,  // 143 
  2553.     0x66666622,  // 144 
  2554.     0x00056555,  // 145 
  2555.     0x50000055,  // 146 
  2556.     0x10000555,  // 147 
  2557.     0x66666667,  // 148 
  2558.     0x22222226,  // 149 
  2559.     0x00022222,  // 150 
  2560.     0x00000077,  // 151 
  2561.     0x00055555,  // 152 
  2562.     0x56655555,  // 153 
  2563.     0x55555553,  // 154 
  2564.     0x22666555,  // 155 
  2565.     0x00000002,  // 156 
  2566.     0x00011155,  // 157 
  2567.     0x06611155,  // 158 
  2568.     0x00001155,  // 159 
  2569.     0x00001105,  // 160 
  2570.     0x11445555,  // 161 
  2571.     0x56661111,  // 162 
  2572.     0x00157666,  // 163 
  2573.     0x00000022,  // 164 
  2574.     0x03111666,  // 165 
  2575.     0x00000015,  // 166 
  2576.     0x00001111,  // 167 
  2577.     0x22660007,  // 168 
  2578.     0x66000022,  // 169 
  2579.     0x66001111,  // 170 
  2580.     0x50505050,  // 171 
  2581.     0x75755555,  // 172 
  2582.     0x55055577,  // 173 
  2583.     0x55005555,  // 174 
  2584.     0x77705555,  // 175 
  2585.     0x55055500,  // 176 
  2586.     0x07755555,  // 177 
  2587.     0x33333333,  // 178 
  2588.     0x44444333,  // 179 
  2589.     0x34444433,  // 180 
  2590.     0x66676666,  // 181 
  2591.     0x66666766,  // 182 
  2592.     0x36666666,  // 183 
  2593.     0x44444400,  // 184 
  2594.     0x22220052,  // 185 
  2595.     0x56677722,  // 186 
  2596.     0x06677722,  // 187 
  2597.     0x00777777,  // 188 
  2598.     0x57777577,  // 189 
  2599.     0x55555577,  // 190 
  2600.     0x77575555,  // 191 
  2601.     0x77555557,  // 192 
  2602.     0x75757777,  // 193 
  2603.     0x57555575,  // 194 
  2604.     0x55555755,  // 195 
  2605.     0x55557755,  // 196 
  2606.     0x55577777,  // 197 
  2607.     0x00077755,  // 198 
  2608.     0x22222000,  // 199 
  2609.     0x00002222,  // 200 
  2610.     0x77777667,  // 201 
  2611.     0x76667777,  // 202 
  2612.     0x00007777,  // 203 
  2613.     0x07777777,  // 204 
  2614.     0x77772222,  // 205 
  2615.     0x22222277,  // 206 
  2616.     0x00077777,  // 207 
  2617.     0x77077770,  // 208 
  2618.     0x77770077,  // 209 
  2619.     0x77777770,  // 210 
  2620.     0x70707777,  // 211 
  2621.     0x07000777,  // 212 
  2622.     0x22666666,  // 213 
  2623.     0x00072222,  // 214 
  2624.     0x06677777,  // 215 
  2625.     0x66777777,  // 216 
  2626.     0x00006666,  // 217 
  2627.     0x66666777,  // 218 
  2628.     0x77777776,  // 219 
  2629.     0x77776666,  // 220 
  2630.     0x77667777,  // 221 
  2631.     0x66266660,  // 222 
  2632.     0x50000000,  // 223 
  2633.     0x00660000,  // 224 
  2634.     0x77777077,  // 225 
  2635.     0x25576663,  // 226 
  2636.     0x66667766,  // 227 
  2637.     0x22222227,  // 228 
  2638.     0x11111122,  // 229 
  2639.     0x77555556,  // 230 
  2640.     0x77655222,  // 231 
  2641.     0x55577110,  // 232 
  2642.     0x55556555,  // 233 
  2643.     0x55500000,  // 234 
  2644.     0x77222277,  // 235 
  2645.     0x77777722,  // 236 
  2646.     0x51555155,  // 237 
  2647.     0x55551555,  // 238 
  2648.     0x55555000,  // 239 
  2649.     0x51500000,  // 240 
  2650.     0x55555575,  // 241 
  2651.     0x55055055,  // 242 
  2652.     0x66555555,  // 243 
  2653.     0x00775555,  // 244 
  2654.     0x66660666,  // 245 
  2655.     0x07776766,  // 246 
  2656.     0x00006676,  // 247 
  2657.     0x40055555,  // 248 
  2658.     0x66676660,  // 249 
  2659.     0x67676555,  // 250 
  2660.     0x55666666,  // 251 
  2661.     0x00055500,  // 252 
  2662.     0x00774440,  // 253 
  2663. }; 
  2664.  
  2665. static const PRUint32 gGenCatPatPl1[] = {
  2666.     0x55555555,  // 0 
  2667.     0x55505555,  // 1 
  2668.     0x05555555,  // 2 
  2669.     0x50550555,  // 3 
  2670.     0x00555555,  // 4 
  2671.     0x00000000,  // 5 
  2672.     0x00000555,  // 6 
  2673.     0x20000766,  // 7 
  2674.     0x22222222,  // 8 
  2675.     0x70002222,  // 9 
  2676.     0x77777777,  // 10 
  2677.     0x77777772,  // 11 
  2678.     0x00000277,  // 12 
  2679.     0x00002222,  // 13 
  2680.     0x00000255,  // 14 
  2681.     0x60555555,  // 15 
  2682.     0x00005555,  // 16 
  2683.     0x00222227,  // 17 
  2684.     0x00000022,  // 18 
  2685.     0x55555505,  // 19 
  2686.     0x50555555,  // 20 
  2687.     0x50050005,  // 21 
  2688.     0x01101115,  // 22 
  2689.     0x11110000,  // 23 
  2690.     0x55555550,  // 24 
  2691.     0x10000111,  // 25 
  2692.     0x66666666,  // 26 
  2693.     0x00000006,  // 27 
  2694.     0x00777777,  // 28 
  2695.     0x07777777,  // 29 
  2696.     0x77777700,  // 30 
  2697.     0x11177777,  // 31 
  2698.     0x11177711,  // 32 
  2699.     0x44444111,  // 33 
  2700.     0x11111444,  // 34 
  2701.     0x11177111,  // 35 
  2702.     0x77771111,  // 36 
  2703.     0x77111177,  // 37 
  2704.     0x00711177,  // 38 
  2705.     0x55055555,  // 39 
  2706.     0x05500500,  // 40 
  2707.     0x55055550,  // 41 
  2708.     0x55505055,  // 42 
  2709.     0x55500555,  // 43 
  2710.     0x05555055,  // 44 
  2711.     0x05055555,  // 45 
  2712.     0x55555500,  // 46 
  2713.     0x55555575,  // 47 
  2714.     0x55557555,  // 48 
  2715.     0x55755555,  // 49 
  2716.     0x75555555,  // 50 
  2717.     0x22000055,  // 51 
  2718. }; 
  2719.  
  2720. static PRUint8 GetCat(PRUint32 u)
  2721. {
  2722.     PRUint32 pat;
  2723.     //
  2724.     //  Handle block which use index table mapping    
  2725.     //
  2726.     // Handle U+000000 to U+0007FF
  2727.     if(0x000000 <= u && u <= 0x0007FF) {
  2728.         pat = gGenCatPatPl0[gGenCatIdx1 [( u - 0x000000 ) / 8]];
  2729.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2730.     }
  2731.  
  2732.     // Handle U+000900 to U+001A1F
  2733.     if(0x000900 <= u && u <= 0x001A1F) {
  2734.         pat = gGenCatPatPl0[gGenCatIdx2 [( u - 0x000900 ) / 8]];
  2735.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2736.     }
  2737.  
  2738.     // Handle U+001D00 to U+0033FF
  2739.     if(0x001D00 <= u && u <= 0x0033FF) {
  2740.         pat = gGenCatPatPl0[gGenCatIdx3 [( u - 0x001D00 ) / 8]];
  2741.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2742.     }
  2743.  
  2744.     // Handle U+004DC0 to U+004DFF
  2745.     if(0x004DC0 <= u && u <= 0x004DFF) {
  2746.         pat = gGenCatPatPl0[gGenCatIdx4 [( u - 0x004DC0 ) / 8]];
  2747.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2748.     }
  2749.  
  2750.     // Handle U+00A000 to U+00A4FF
  2751.     if(0x00A000 <= u && u <= 0x00A4FF) {
  2752.         pat = gGenCatPatPl0[gGenCatIdx5 [( u - 0x00A000 ) / 8]];
  2753.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2754.     }
  2755.  
  2756.     // Handle U+00A700 to U+00A82F
  2757.     if(0x00A700 <= u && u <= 0x00A82F) {
  2758.         pat = gGenCatPatPl0[gGenCatIdx6 [( u - 0x00A700 ) / 8]];
  2759.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2760.     }
  2761.  
  2762.     // Handle U+00FB00 to U+00FFFF
  2763.     if(0x00FB00 <= u && u <= 0x00FFFF) {
  2764.         pat = gGenCatPatPl0[gGenCatIdx7 [( u - 0x00FB00 ) / 8]];
  2765.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2766.     }
  2767.  
  2768.     // Handle U+010000 to U+0104AF
  2769.     if(0x010000 <= u && u <= 0x0104AF) {
  2770.         pat = gGenCatPatPl1[gGenCatIdx8 [( u - 0x010000 ) / 8]];
  2771.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2772.     }
  2773.  
  2774.     // Handle U+010800 to U+01083F
  2775.     if(0x010800 <= u && u <= 0x01083F) {
  2776.         pat = gGenCatPatPl1[gGenCatIdx9 [( u - 0x010800 ) / 8]];
  2777.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2778.     }
  2779.  
  2780.     // Handle U+010A00 to U+010A5F
  2781.     if(0x010A00 <= u && u <= 0x010A5F) {
  2782.         pat = gGenCatPatPl1[gGenCatIdx10 [( u - 0x010A00 ) / 8]];
  2783.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2784.     }
  2785.  
  2786.     // Handle U+01D000 to U+01D7FF
  2787.     if(0x01D000 <= u && u <= 0x01D7FF) {
  2788.         pat = gGenCatPatPl1[gGenCatIdx11 [( u - 0x01D000 ) / 8]];
  2789.         return (pat  >> ((u % 8) * 4)) & 0x0F;
  2790.     }
  2791.  
  2792.     //
  2793.     //  Handle blocks which share the same category 
  2794.     //
  2795.     // Handle CJK Ideograph Extension A block 
  2796.     if(0x3400 <= u && u <= 0x4DB5) 
  2797.         return 5; 
  2798.  
  2799.     // Handle CJK Ideograph block 
  2800.     if(0x4E00 <= u && u <= 0x9FBB) 
  2801.         return 5; 
  2802.  
  2803.     // Handle Hangul Syllable block 
  2804.     if(0xAC00 <= u && u <= 0xD7A3) 
  2805.         return 5; 
  2806.  
  2807.     // Handle Non Private Use High Surrogate block 
  2808.     if(0xD800 <= u && u <= 0xDB7F) 
  2809.         return 4; 
  2810.  
  2811.     // Handle Private Use High Surrogate block 
  2812.     if(0xDB80 <= u && u <= 0xDBFF) 
  2813.         return 4; 
  2814.  
  2815.     // Handle Low Surrogate block 
  2816.     if(0xDC00 <= u && u <= 0xDFFF) 
  2817.         return 4; 
  2818.  
  2819.     // Handle Private Use block 
  2820.     if(0xE000 <= u && u <= 0xF8FF) 
  2821.         return 4; 
  2822.  
  2823.     // Handle CJK Compatibility #1 block 
  2824.     if(0xF900 <= u && u <= 0xFA2D) 
  2825.         return 5; 
  2826.  
  2827.     // Handle CJK Compatibility #2 block 
  2828.     if(0xFA30 <= u && u <= 0xFA6A) 
  2829.         return 5; 
  2830.  
  2831.     // Handle CJK Compatibility #3 block 
  2832.     if(0xFA70 <= u && u <= 0xFAD9) 
  2833.         return 5; 
  2834.  
  2835.     // Handle CJK Ideograph Extension B block 
  2836.     if(0x20000 <= u && u <= 0x2A6D6) 
  2837.         return 5; 
  2838.  
  2839.     // Handle CJK Compatibility #4 block 
  2840.     if(0x2F800 <= u && u <= 0x2FA1D) 
  2841.         return 5; 
  2842.  
  2843.     // Handle Plane 15 Private Use block 
  2844.     if(0xF0000 <= u && u <= 0xFFFFD) 
  2845.         return 4; 
  2846.  
  2847.     // Handle Plane 16 Private Use block 
  2848.     if(0x100000 <= u && u <= 0x10FFFD) 
  2849.         return 4; 
  2850.  
  2851.     return 0; // UNDEFINE 
  2852. }
  2853. // total data size = 3556
  2854.